สรุปสั้น
บริษัท Vercel เปิดเผยและแก้ไขช่องโหว่ความปลอดภัย 9 รายการใน Next.js ซึ่งเป็นเฟรมเวิร์ก React ที่ใช้กันอย่างแพร่หลาย โดยช่องโหว่เหล่านี้อาจเปิดทางให้เกิดการโจมตีแบบ server-side request forgery (SSRF), การข้ามการยืนยันตัวตนที่ชั้น middleware, การโจมตีปฏิเสธการให้บริการ (denial-of-service หรือ DoS) และการเปิดเผยข้อมูลอ่อนไหว คำแนะนำด้านความปลอดภัยทั้ง 9 ฉบับถูกเผยแพร่โดยนักวิจัยที่ใช้ชื่อ KarimPwnz และได้รับการแก้ไขแล้วใน Next.js เวอร์ชัน 15.5.21 และ 16.2.11 ก่อนหน้านี้ทีม Next.js ได้ประกาศว่าจะเริ่มโปรแกรมปล่อยแพตช์ความปลอดภัยรายเดือน และการอัปเดตครั้งนี้ก็จัดการช่องโหว่ทั้ง 9 รายการข้ามเวอร์ชันที่รองรับ ช่องโหว่ที่ร้ายแรงที่สุดคือ CVE-2026-64645 ซึ่งเป็น SSRF ระดับสูงที่กระทบฟีเจอร์ rewrites โดยผู้โจมตีสามารถควบคุมชื่อโฮสต์ปลายทางเพื่อบังคับให้เซิร์ฟเวอร์ส่งคำขอไปยังปลายทางภายในใดก็ได้ กระทบ Next.js ตั้งแต่เวอร์ชัน 12.0.0 ถึง 15.5.21 และ 16.0.0 ถึง 16.2.11 องค์กรที่ยังใช้รุ่นเก่าอย่าง 13.x และ 14.x จะไม่ได้รับแพตช์โดยตรงและต้องอัปเกรดไปเป็นรุ่น 15.x หรือ 16.x ที่แก้แล้ว
รายละเอียดข่าว
เว็บไซต์ Cyber Security News รายงานเมื่อวันที่ 23 กรกฎาคม 2569 ว่าบริษัท Vercel ผู้พัฒนา Next.js ได้เผยแพร่คำแนะนำด้านความปลอดภัยทั้ง 9 ฉบับเมื่อสองวันก่อนหน้า โดยนักวิจัยชื่อ KarimPwnz เป็นผู้รายงาน ช่องโหว่ SSRF ระดับสูงตัวแรกคือ CVE-2026-64645 (GHSA-p9j2-gv94-2wf4) ที่จะถูกโจมตีได้เมื่อกฎ rewrites() หรือ redirects() สร้างชื่อโฮสต์ปลายทางจากข้อมูลคำขอที่ผู้ใช้ป้อนเข้ามา ส่วนช่องโหว่ SSRF ระดับสูงตัวที่สองคือ CVE-2026-64649 (GHSA-89xv-2m56-2m9x) ที่กระทบ Server Actions ซึ่งรันบนเซิร์ฟเวอร์ Node.js แบบกำหนดเอง เปิดให้ผู้โจมตีเปลี่ยนเส้นทางคำขอ Server Action ขาออกไปยังโฮสต์ที่ตนควบคุมได้
นอกจากนี้ยังมี CVE-2026-64642 (GHSA-6gpp-xcg3-4w24) ที่เปิดให้ข้าม middleware และ proxy ในแอปที่ใช้ App Router ร่วมกับการ build แบบ Turbopack ที่มี middleware.ts แบบเดิมและตั้งค่า i18n แบบภาษาเดียว ซึ่งอาจทำให้ผู้โจมตีข้ามการตรวจสอบสิทธิ์ได้ทั้งหมด และปิดท้ายรายการช่องโหว่ระดับสูงด้วย CVE-2026-64641 (GHSA-m99w-x7hq-7vfj) ที่เปิดให้ผู้โจมตีกระตุ้นสภาวะ DoS ในแอป App Router ผ่านคำขอ Server Actions ที่เป็นอันตราย ยังมีช่องโหว่ระดับปานกลางอีกหลายรายการที่ถูกแก้ไขในครั้งนี้ด้วย
รายละเอียดช่องโหว่
ในกลุ่มช่องโหว่ระดับปานกลาง มีปัญหา DoS สองรายการ ได้แก่ CVE-2026-64646 (GHSA-4c39-4ccg-62r3) ที่เกี่ยวกับ payload ของ Server Action ที่ไม่จำกัดขนาดใน Edge runtime จนทำให้หน่วยความจำหมด และ CVE-2026-64644 (GHSA-q8wf-6r8g-63ch) ที่เปิดให้ผู้โจมตีทำให้ Image Optimization API ล่มด้วยการส่งไฟล์ SVG ที่เป็นอันตราย ถัดมาคือช่องโหว่ประเภท cache confusion สองรายการ ได้แก่ CVE-2026-64648 (GHSA-68g3-v927-f742) และ CVE-2026-64647 (GHSA-4633-3j49-mh5q) ที่อาจทำให้เนื้อหาการตอบกลับ (response body) สลับกันระหว่างคำขอต่างกัน เมื่อแอปใช้การเรียก fetch() ที่แคชไว้พร้อม request body รวมถึงกรณีที่มีลำดับไบต์ UTF-8 ที่ไม่ถูกต้อง ซึ่งอาจทำให้ข้อมูลของผู้ใช้คนหนึ่งถูกส่งไปให้ผู้ใช้อีกคนภายใต้การตั้งค่าแคชบางแบบ ส่วนช่องโหว่ระดับปานกลางรายการสุดท้ายคือ CVE-2026-64643 (GHSA-955p-x3mx-jcvp) ที่เปิดเผยตัวระบุ (identifier) ของ Server Function endpoint ภายในให้ผู้โจมตีที่ไม่ได้ยืนยันตัวตน เมื่อใช้ Cache Components ร่วมกับ reflective Server Actions แม้ Vercel จะระบุว่าข้อมูลที่รั่วเป็นเพียงตัวระบุแบบ opaque ไม่ใช่ข้อมูลรับรองหรือข้อมูลส่วนบุคคล
| ช่องโหว่ | CVE | ความรุนแรง |
|---|---|---|
| SSRF ใน rewrites | CVE-2026-64645 | สูง |
| SSRF ใน Server Actions (custom servers) | CVE-2026-64649 | สูง |
| ข้าม middleware/proxy | CVE-2026-64642 | สูง |
| DoS ผ่าน Server Actions | CVE-2026-64641 | สูง |
| payload Edge ไม่จำกัดขนาด | CVE-2026-64646 | ปานกลาง |
| Image Optimization DoS (SVG) | CVE-2026-64644 | ปานกลาง |
| cache confusion (bodies) | CVE-2026-64648 | ปานกลาง |
| cache confusion (UTF-8 ไม่ถูกต้อง) | CVE-2026-64647 | ปานกลาง |
| เปิดเผย Server Function endpoint | CVE-2026-64643 | ปานกลาง |
ช่วงเวอร์ชันที่ได้รับผลกระทบครอบคลุมระบบนิเวศของ Next.js เป็นวงกว้าง โดยเริ่มตั้งแต่เวอร์ชัน 12.0.0 สำหรับช่องโหว่ SSRF ใน rewrites และ 13.0.0 สำหรับปัญหา DoS และ cache หลายรายการ
ผลกระทบต่อไทย
Next.js เป็นหนึ่งในเฟรมเวิร์กพัฒนาเว็บที่ได้รับความนิยมสูงสุดในหมู่นักพัฒนาไทย ทั้งสตาร์ตอัป เอเจนซี และองค์กรที่สร้างเว็บแอปพลิเคชันสมัยใหม่ ช่องโหว่ SSRF ที่ร้ายแรงเป็นพิเศษเพราะเปิดให้ผู้โจมตีใช้เซิร์ฟเวอร์เป็นตัวกลางเข้าถึงบริการภายในเครือข่ายที่ปกติเข้าไม่ถึงจากภายนอก ซึ่งอาจนำไปสู่การขโมยข้อมูลหรือเจาะลึกเข้าไปในโครงสร้างพื้นฐานคลาวด์ ส่วนช่องโหว่ cache confusion ที่อาจส่งข้อมูลของผู้ใช้คนหนึ่งไปให้อีกคน ก็เป็นความเสี่ยงด้านความเป็นส่วนตัวและอาจกระทบต่อการปฏิบัติตาม พ.ร.บ.คุ้มครองข้อมูลส่วนบุคคล (PDPA) ทีมพัฒนาในไทยที่ใช้ Next.js จึงควรตรวจสอบเวอร์ชันและการตั้งค่าของแอปโดยด่วน
คำแนะนำ
ทีมความปลอดภัยและนักพัฒนาควรอัปเกรด Next.js เป็นเวอร์ชัน 15.5.21 หรือ 16.2.11 ทันที และตรวจสอบการตั้งค่าที่เกี่ยวกับ rewrites, เซิร์ฟเวอร์แบบกำหนดเอง (custom servers), middleware ที่ build ด้วย Turbopack และ Cache Components เพื่อประเมินความเสี่ยงที่เจาะจงของแต่ละแอป สำหรับองค์กรที่ยังใช้รุ่นเก่าอย่าง 13.x และ 14.x ซึ่งจะไม่ได้รับแพตช์โดยตรง จำเป็นต้องวางแผนอัปเกรดไปเป็นรุ่น 15.x หรือ 16.x ที่แก้ไขแล้วโดยเร็ว โดยเฉพาะแอปที่สร้างชื่อโฮสต์ปลายทางในกฎ rewrites หรือ redirects จากข้อมูลที่ผู้ใช้ป้อนเข้ามา ซึ่งเป็นเงื่อนไขของช่องโหว่ SSRF ที่ร้ายแรงที่สุด
