ช่องโหว่เล็กๆ แต่ผลกระทบใหญ่
กรณีศึกษา expr-eval JavaScript Library ที่แฮกเกอร์ใช้รันโค้ดจากระยะไกลได้
ในโลกของการพัฒนาโปรแกรมยุคใหม่ เรามักพึ่งพา “ไลบรารี (Library)” หรือ “แพ็กเกจสำเร็จรูป” ที่มีผู้อื่นพัฒนาไว้แล้ว
เพื่อช่วยให้การสร้างระบบเร็วขึ้นและปลอดภัยขึ้น
แต่ใครจะคิดว่า — เพียง โค้ดไม่กี่บรรทัดในไลบรารีเล็ก ๆ ก็สามารถกลายเป็นประตูเปิดให้แฮกเกอร์เข้าควบคุมระบบได้ทั้งองค์กร
นี่คือสิ่งที่เกิดขึ้นจริงกับ expr-eval, JavaScript Library ที่ถูกดาวน์โหลดกว่า 800,000 ครั้งต่อสัปดาห์บน NPM
และเพิ่งถูกเปิดเผยว่ามีช่องโหว่ระดับ Critical (CVE-2025-12735) ที่อาจถูกใช้โจมตีแบบ Remote Code Execution (RCE) ได้
expr-eval คืออะไร และมันอยู่ในระบบของเราได้อย่างไร?
expr-eval เป็นไลบรารีเล็ก ๆ ที่นักพัฒนาซอฟต์แวร์นิยมใช้เพื่อ “คำนวณสมการ” หรือ “ตีความนิพจน์ทางคณิตศาสตร์”
เช่น การรับสูตรจากผู้ใช้ แล้วให้ระบบประมวลผลค่าออกมาโดยอัตโนมัติ
ฟังดูเรียบง่ายใช่ไหมครับ?
แต่ในความเป็นจริง ไลบรารีนี้ถูกนำไปใช้ในหลายระบบที่เราอาจไม่รู้ตัว เช่น
เครื่องคิดเลขออนไลน์
ระบบการศึกษาและแบบฝึกหัดคณิตศาสตร์
เครื่องมือจำลอง (Simulation Tools)
โปรแกรมทางการเงิน
ระบบ AI หรือ Natural Language Processing (NLP) ที่ต้องตีความสูตรทางคณิตศาสตร์จากข้อความ
กล่าวอีกอย่างคือ expr-eval อยู่เบื้องหลังระบบมากมายทั่วโลก — และบางส่วนอาจอยู่ในซอฟต์แวร์ที่ธุรกิจไทยใช้อยู่ทุกวันโดยไม่รู้ตัว
ช่องโหว่นี้เกิดขึ้นได้อย่างไร?
นักวิจัยด้านความปลอดภัยชื่อ Jangwoo Choe พบว่า expr-eval มีช่องโหว่ในฟังก์ชัน Parser.evaluate()
ซึ่งใช้ในการประมวลผลสมการหรือข้อมูลที่ผู้ใช้ส่งเข้ามา
ปัญหาคือ ไลบรารีนี้ ไม่ได้ตรวจสอบหรือกรองข้อมูลที่รับเข้ามาอย่างปลอดภัย
ทำให้แฮกเกอร์สามารถแนบ “ฟังก์ชันอันตราย” (malicious function objects) เข้ามาใน input ได้
และเมื่อ parser ประมวลผล มันจะ รันโค้ดของแฮกเกอร์โดยไม่ตั้งใจ
นี่คือสิ่งที่เรียกว่า Remote Code Execution (RCE) —
รูปแบบการโจมตีที่เปิดโอกาสให้แฮกเกอร์ “ควบคุมระบบจากระยะไกลได้เต็มรูปแบบ”
ซึ่งรวมถึงการขโมยข้อมูล ลบไฟล์ ติดตั้งมัลแวร์ หรือใช้ระบบนั้นเป็นฐานโจมตีต่อระบบอื่นได้
ทำไมเรื่องนี้ถึงกระทบเป็นวงกว้าง
ช่องโหว่นี้ได้รับหมายเลข CVE-2025-12735
และถูกจัดระดับความรุนแรงโดย CISA (หน่วยงานความมั่นคงไซเบอร์ของสหรัฐฯ) ที่ คะแนน CVSS 9.8 — ระดับ Critical
สิ่งที่น่ากังวลคือ expr-eval ไม่ได้มีเพียงเวอร์ชันเดียว
เพราะยังมี “fork” ที่ชื่อว่า expr-eval-fork ซึ่งมีผู้ใช้งานกว่า 80,000 ดาวน์โหลดต่อสัปดาห์
และมีโปรเจกต์กว่า 250 โปรเจกต์ที่ใช้งานอยู่ทั่วโลก
นั่นหมายความว่า แม้ระบบขององค์กรคุณไม่ได้เรียกใช้ expr-eval โดยตรง
แต่ library อื่นที่คุณใช้อาจอ้างอิง expr-eval อยู่ภายใน
หรือพูดง่าย ๆ คือ “ช่องโหว่ซ่อนอยู่ในห่วงโซ่ของซอฟต์แวร์ (Software Supply Chain)”
ซึ่งเป็นหนึ่งในภัยที่องค์กรทั่วโลกกำลังเผชิญมากขึ้นเรื่อย ๆ

บทเรียนสำคัญสำหรับธุรกิจไทย
อย่าประมาทกับ “library เล็ก ๆ”
ช่องโหว่ไม่ได้เกิดเฉพาะในระบบหลัก แต่เกิดจากส่วนประกอบเล็ก ๆ ที่ถูกมองข้ามได้ง่ายมีระบบตรวจสอบ Dependencies อย่างต่อเนื่อง
เครื่องมือเช่น Dependency Scanning หรือ Software Composition Analysis (SCA)
จะช่วยให้ทีม DevSecOps รู้ได้ว่าโค้ดส่วนใดใช้งาน library ที่มีช่องโหว่ไม่พึ่งพาการ “แพตช์หลังเหตุ” เพียงอย่างเดียว
เพราะแฮกเกอร์มักลงมือเร็วกว่าการอัปเดตซอฟต์แวร์เสมอ
การป้องกันแบบ “รอให้โดนก่อนค่อยแก้” จึงไม่เพียงพออีกต่อไป
ยุคของ “การป้องกันเชิงรุก” — Preemptive Cyber Defense
ในยุคที่ภัยไซเบอร์พัฒนาเร็วกว่าการอัปเดต ระบบป้องกันแบบเดิม ๆ ไม่เพียงพออีกต่อไป
องค์กรทั่วโลกจึงเริ่มหันมาใช้แนวทาง Preemptive Cyber Defense
ซึ่งเน้น “การป้องกันล่วงหน้า” ก่อนที่การโจมตีจะเริ่มขึ้นจริง
หนึ่งในเทคโนโลยีที่ได้รับการยอมรับในแนวทางนี้คือ
Morphisec Automated Moving Target Defense (AMTD)
ซึ่งจะ “สุ่มและเคลื่อนย้ายโครงสร้างภายในระบบแบบต่อเนื่อง”
ทำให้แฮกเกอร์ไม่สามารถระบุตำแหน่งหน่วยความจำหรือจุดโจมตีได้แน่นอน
พูดง่าย ๆ คือ ต่อให้แฮกเกอร์รู้ช่องโหว่ในโค้ด
ก็ไม่สามารถเจาะได้ เพราะ “เป้าหมายเคลื่อนที่อยู่ตลอดเวลา”
เหตุการณ์ช่องโหว่ expr-eval สอนให้เราเห็นว่า
ความเสี่ยงทางไซเบอร์ไม่ได้อยู่ที่ระบบใหญ่ แต่แฝงอยู่ในรายละเอียดเล็ก ๆ ที่มองไม่เห็น
ธุรกิจไทยจึงควรเริ่มให้ความสำคัญกับ
การตรวจสอบซัพพลายเชนของซอฟต์แวร์
การอัปเดตและบริหารจัดการ patch อย่างต่อเนื่อง
และที่สำคัญที่สุด — การใช้เทคโนโลยี “ป้องกันก่อนโจมตี” อย่าง Preemptive Cyber Defense
ในโลกที่แฮกเกอร์ไม่หยุดนิ่ง การป้องกันที่ดีที่สุดคือ “การมองเห็นและขัดขวางก่อนที่ภัยจะเกิดขึ้น”



