
ตรวจพบช่องโหว่ระดับ Critical บน Next.js ในฟีเจอร์ ImageResponse เสี่ยงถูกโจมตีระบบ

ข้อมูลทั่วไป :
Next.js คือ Web Development Framework ยอดนิยมที่พัฒนาต่อยอดมาจาก React (ดูแลและพัฒนาหลักโดยบริษัท Vercel) เพื่อช่วยแก้ข้อจำกัดของ React ดั้งเดิม และทำให้การสร้างเว็บไซต์หรือเว็บแอปพลิเคชันแบบ Full-stack ทำได้ง่าย รวดเร็ว และมีประสิทธิภาพสูง
เหตุการณ์ :
พบช่องโหว่ CVE-2026-94545 ใน Next.js ซึ่งมีคะแนนความรุนแรง CVSS 9.5 โดยช่องโหว่นี้อาจเปิดโอกาสให้ผู้โจมตีสามารถ Remote Code Execution (RCE) บนเซิร์ฟเวอร์ที่มีช่องโหว่ได้
ฟีเจอร์ที่ได้รับผลกระทบคือ ImageResponse ซึ่งถูก import มาจาก next/og และโดยทั่วไปถูกใช้งานเพื่อสร้างรูปภาพสำหรับแสดงตัวอย่างบน Social Media เช่น Open Graph Images หรือไฟล์ opengraph-image ภายใน ImageResponse มีการใช้งาน Library ที่ชื่อว่า Satori ซึ่งทำหน้าที่แปลงโค้ดที่ใช้กำหนด Layout ให้เป็นไฟล์ SVG ก่อนที่จะนำไป Render เป็นรูปภาพ PNG
สาเหตุของช่องโหว่เกิดจาก Satori ไม่มีการ Escape ค่า Text บางประเภทอย่างเข้มงวดเพียงพอ เมื่อระบบนำข้อมูลจากผู้ใช้งาน (เช่น ข้อความ หรือ Parameter จาก Request URL) ไปแทรกใน SVG Tags, Attributes หรือ Styles โดยไม่ผ่านการตรวจสอบ (Sanitization) จะส่งผลให้ผู้โจมตีสามารถแทรกค่าที่สร้างขึ้นมาเป็นพิเศษ (Malicious Payload) เข้าไปรันคำสั่งอันตรายบนระบบได้
ช่องโหว่นี้ส่งผลกระทบต่อ Next.js เวอร์ชัน 16.2.0 ถึง 16.3.5 ที่ทำงานบน Node.js Runtime
สำหรับ Next.js เวอร์ชัน 15 ไม่ได้รับผลกระทบจาก RCE ช่องโหว่นี้ อย่างไรก็ตาม มีการออก Patch เวอร์ชัน 15.5.26 เพื่อเพิ่มมาตรการด้านความปลอดภัยเพิ่มเติม
คำแนะนำ:
1. ควรอัปเดต Next.js เป็นเวอร์ชัน 16.3.6 ด้วยคำสั่ง npm install next@16.3.6
2. สำหรับผู้ใช้ไลบรารี Satori โดยตรง: ให้อัปเดตเป็นเวอร์ชัน 0.33.5 ขึ้นไป
3. ตรวจสอบและหลีกเลี่ยงการนำ Input ที่ผู้ใช้งานควบคุมได้ (User-controlled values) เช่น Query String จาก URL เข้าไปแทรกในเนื้อหา SVG, Attribute หรือ Style ของ ImageResponse บน Node.js runtime โดยตรง
ข้อมูลอ้างอิง :
•https://thehackernews.com/2026/09/critical-nextjs-imageresponse-flaw-can.html