สรุปสั้น

บริษัทความปลอดภัย ThreatBook และ Imperva ระบุว่าผู้โจมตีกำลังมุ่งเป้าช่องโหว่วิกฤตใน Fastjson ซึ่งเป็นไลบรารี JSON ของบริษัท Alibaba สำหรับภาษา Java โดยในแอปพลิเคชัน Spring Boot ที่ได้รับผลกระทบ คำร้อง JSON ที่เป็นอันตรายสามารถรันโค้ดได้โดยไม่ต้องยืนยันตัวตน ด้วยสิทธิ์ของโปรเซส Java ช่องโหว่นี้ถูกกำหนดหมายเลข CVE-2026-16723 มีคะแนน CVSS ที่ Alibaba กำหนดไว้ที่ 9.0 เงื่อนไขการโจมตีที่ยืนยันแล้วต้องใช้ Fastjson เวอร์ชัน 1.2.68 ถึง 1.2.83 บนแอปที่แพ็กเป็น Spring Boot executable fat-JAR มีเส้นทางที่เข้าถึงได้ทางเครือข่ายซึ่งส่ง JSON ที่ผู้โจมตีควบคุมได้ไปยัง parser และเปิดค่าเริ่มต้นที่ปิด SafeMode ไว้ ที่น่ากังวลคือ AutoType ยังสามารถปิดอยู่ได้และไม่ต้องใช้ classpath gadget ก็โจมตีได้ ณ วันที่ 25 กรกฎาคม Alibaba ยังไม่ได้ปล่อยเวอร์ชัน Fastjson 1.x ที่แก้ไขแล้ว องค์กรที่ย้ายทันทีไม่ได้ควรเปิด SafeMode หรือใช้บิลด์แบบจำกัด โดย Alibaba ระบุว่าการย้ายไป Fastjson2 คือทางแก้ระยะยาว

รายละเอียดข่าว

เว็บไซต์ The Hacker News รายงานเมื่อวันที่ 25 กรกฎาคม พ.ศ. 2569 ว่า Alibaba ได้เผยแพร่คำแนะนำด้านความปลอดภัยเมื่อวันที่ 21 กรกฎาคม หลังการเปิดเผยอย่างรับผิดชอบโดยนาย Kirill Firsov จากบริษัท FearsOff Cybersecurity โดยผู้ดูแล Fastjson อธิบายว่าช่องโหว่นี้ “ไม่ต้องเปิดใช้ AutoType” และ “ไม่ต้องใช้ classpath gadget” และได้ยืนยันเชนการโจมตีบน Spring Boot เวอร์ชัน 2.x, 3.x และ 4.x ร่วมกับ JDK 8, 11, 17 และ 21

นาย Firsov สืบต้นตอของปัญหาไปยังเส้นทางการแก้ไขชนิด (type-resolution) ของ Fastjson โดยค่า @type ที่ผู้โจมตีควบคุมได้สามารถถูกเปลี่ยนให้เป็นการค้นหา class-resource ในแอป Spring Boot fat-JAR ที่เข้ากันได้ เส้นทาง nested JAR ที่ถูกสร้างขึ้นมาเป็นพิเศษสามารถดึง bytecode ที่ผู้โจมตีควบคุมได้เข้ามา จากนั้น annotation @JSONType ในทรัพยากรนั้นจะถูกมองว่าเป็นสัญญาณความน่าเชื่อถือ ทำให้คลาสผ่านการตรวจสอบชนิดของ Fastjson และถูกโหลดเข้ามา การวิเคราะห์ทางเทคนิคของเขายังอธิบายเส้นทางบน JDK รุ่นใหม่ที่ดาวน์โหลด JAR จากระยะไกลแล้วอ้างอิงผ่าน /proc/self/fd

ทางด้านบริษัท ThreatBook ระบุเมื่อวันที่ 22 กรกฎาคมว่าแพลตฟอร์มของบริษัทตรวจจับการโจมตีในสภาพจริงได้หลังเพิ่มการรองรับการตรวจจับก่อนหน้านั้นสองวัน แต่ผลในห้องทดลองแคบกว่า คือจำลองการรันโค้ดเต็มรูปแบบได้บน Spring Boot fat-JAR ที่ใช้ JDK 8 ขณะที่การทดสอบบน Tomcat แบบฝังทำได้เพียงการดึง JAR จากระยะไกลหรือ SSRF ส่วนบริษัท Imperva รายงานว่าพบกิจกรรมโจมตีต่อองค์กรด้านบริการการเงิน สาธารณสุข คอมพิวเตอร์ ค้าปลีก และอื่นๆ ส่วนใหญ่ในสหรัฐฯ โดยมีปริมาณน้อยกว่าในสิงคโปร์และแคนาดา อย่างไรก็ตามทั้งสองบริษัทไม่ได้เผยแพร่จำนวนการโจมตี หลักฐานการรันโค้ด ชื่อเหยื่อ หรือการยืนยันการเจาะระบบ จึงเป็นเพียงการยืนยันกิจกรรมการโจมตีที่สังเกตพบ ไม่ใช่หลักฐานว่ารันโค้ดสำเร็จบนเป้าหมายจริง ทั้งนี้การประเมินของ CISA-ADP เมื่อวันที่ 23 กรกฎาคมกลับระบุสถานะการโจมตีเป็น none และ The Hacker News ยืนยันเมื่อวันที่ 25 กรกฎาคมว่าช่องโหว่นี้ยังไม่อยู่ในแคตตาล็อก KEV ของ CISA

Fastjson 1.x RCE vulnerability targeted in attacks with no patch available

รายละเอียดช่องโหว่

เชนการโจมตีที่ยืนยันแล้วต้องอาศัยองค์ประกอบครบชุด คือ Fastjson เวอร์ชัน 1.2.68 ถึง 1.2.83, การแพ็กแอปเป็น Spring Boot executable fat-JAR, เส้นทางที่เข้าถึงได้ทางเครือข่ายซึ่งส่ง JSON ที่ผู้โจมตีควบคุมได้ไปยัง parser ที่ได้รับผลกระทบ และการเปิดค่าเริ่มต้นที่ปิด SafeMode ไว้ จุดที่ทำให้ช่องโหว่นี้อันตรายคือไม่จำเป็นต้องเปิด AutoType และไม่ต้องมี classpath gadget ต่างจากช่องโหว่ deserialization ของ Fastjson ในอดีต การโจมตีขึ้นอยู่กับตัวโหลด Spring Boot executable fat-JAR โดยเฉพาะ ส่วนแบบ non-fat JAR ธรรมดา, uber-JAR ทั่วไป และการดีพลอยแบบ WAR บน Tomcat หรือ Jetty ไม่ได้รับผลกระทบ

จุดเข้าที่เข้าถึงได้รวมถึง JSON.parse, JSON.parseObject(String) และ JSON.parseObject(String, Class) โดยการผูก input เข้ากับคลาสที่กำหนดตายตัวก็ยังไม่เพียงพอที่จะป้องกัน หากออบเจ็กต์นั้นมีฟิลด์ชนิด Object หรือ Map ที่สามารถซ้อนเพย์โหลดเข้าไปได้ ทั้งนี้ Fastjson2 ไม่ได้รับผลกระทบเพราะไม่ใช้เส้นทางการ probe ทรัพยากรหรือการเชื่อถือผ่าน annotation แบบเดียวกัน ที่น่าสนใจคือเวอร์ชัน 1.2.83 เคยเป็นรุ่นที่ Alibaba แนะนำให้อัปเกรดเพื่อแก้ปัญหา AutoType bypass ที่เปิดเผยเมื่อปี 2565 แต่บัดนี้รุ่นสุดท้ายของสาย 1.x นี้กลับตกอยู่ในช่วงเวอร์ชันที่ได้รับผลกระทบจาก CVE-2026-16723 เสียเอง

ผลกระทบต่อไทย

Fastjson เป็นไลบรารียอดนิยมในระบบ Java ที่พัฒนาในภูมิภาคเอเชีย และแอป Spring Boot ถูกใช้อย่างแพร่หลายในองค์กรไทยทั้งภาคธนาคาร การเงิน อีคอมเมิร์ซ และบริการภาครัฐ องค์กรที่มีระบบหลังบ้านเป็น Java และเผลอฝัง Fastjson 1.x ไว้ในสาย dependency ทั้งทางตรงและทางอ้อม (transitive) จึงมีความเสี่ยงสูง โดยเฉพาะเมื่อยังไม่มีแพตช์ทางการสำหรับสาย 1.x และมีรายงานการโจมตีในสภาพจริงแล้ว การที่ช่องโหว่รันโค้ดได้โดยไม่ต้องยืนยันตัวตนและไม่ต้องอาศัยเงื่อนไขพิเศษอย่าง AutoType ทำให้ระบบที่เปิดรับ JSON จากภายนอกตกเป็นเป้าได้ทันที ที่น่ากังวลคือหลายองค์กรอาจไม่รู้ด้วยซ้ำว่ามี Fastjson อยู่ในระบบ เพราะมันมักถูกดึงมาเป็น dependency ทางอ้อมของไลบรารีอื่น

คำแนะนำ

เนื่องจากยังไม่มีแพตช์สำหรับ Fastjson 1.x องค์กรที่ยังย้ายไม่ได้ทันทีควรเปิด SafeMode ด้วยพารามิเตอร์ -Dfastjson.parser.safeMode=true หรือใช้ com.alibaba:fastjson:1.2.83_noneautotype เป็นการบรรเทาชั่วคราว ส่วนทางแก้ระยะยาวคือย้ายไปใช้ Fastjson2 ซึ่งไม่ได้รับผลกระทบ องค์กรควรจัดทำบัญชี dependency ของ Fastjson ทั้งทางตรงและทางอ้อมให้ครบ และตรวจสอบระบบที่ได้รับผลกระทบเพื่อหาค่า @type ที่น่าสงสัย, URL ของ nested JAR, การเชื่อมต่อขาออกที่ผิดปกติ, โปรเซสลูกที่ไม่คาดคิด, การเปลี่ยนแปลงไฟล์ และ web shell ที่อาจถูกฝังไว้

แหล่งอ้างอิง