• ทีม React และ Vercel เปิดเผยช่องโหว่ความปลอดภัย 12 รายการพร้อมกันที่ส่งผลต่อ React Server Components และ Next.js พร้อมแนะนำอย่างยิ่งให้อัปเดตแอปพลิเคชันทันที
  • ครอบคลุมเวกเตอร์การโจมตีหลายรูปแบบ เช่น การปฏิเสธการให้บริการ (DoS), การข้าม middleware, SSRF, XSS และ cache poisoning โดยจัดเป็นระดับ High 6 รายการ, Moderate 4 รายการ และ Low 2 รายการ
  • มีการออกเวอร์ชันแพตช์ React 19.0.6/19.1.7/19.2.6 และ Next.js 15.5.16/16.2.5 พร้อมระบุว่า เฟรมเวิร์กเซิร์ฟเวอร์ที่ใช้ React ก็ควรอัปเดตด้วย
  • ช่องโหว่บางรายการ ไม่สามารถบล็อกได้ ด้วยการป้องกันระดับเครือข่ายอย่าง WAF ทำให้การแพตช์ที่โค้ดแอปพลิเคชันเป็นสิ่งจำเป็น
  • ช่องโหว่กระจายอยู่ใน ขอบเขตฟีเจอร์จำนวนมาก ของ Next.js เช่น Server Components, Pages Router และ Image Optimization API ทำให้มีผลกระทบกว้างขวาง

แพ็กเกจที่ได้รับผลกระทบและเวอร์ชันแพตช์

  • รายการที่ต้องแพตช์ฝั่ง React: react-server-dom-webpack, react-server-dom-parcel, react-server-dom-turbopack — ต้องอัปเดตเป็นเวอร์ชัน 19.0.6, 19.1.7, 19.2.6 ตามลำดับ
  • รายการที่ต้องแพตช์ฝั่ง Next.js: 15.5.16 และ 16.2.5
  • หากใช้เฟรมเวิร์กเซิร์ฟเวอร์ที่ใช้ React เช่น Vinext, OpenNext และ TanStack Start จำเป็นต้องอัปเดตเฟรมเวิร์กนั้นเป็นเวอร์ชันล่าสุดด้วย

ช่องโหว่ระดับ High (6 รายการ)

  • CVE-2026-23870 / GHSA-8h8q-6873-q5fj — การปฏิเสธการให้บริการ (DoS) ใน React Server Components
    • เป็นช่องโหว่ที่ส่งผลทั้งต่อ React และ Next.js
  • GHSA-267c-6grr-h53f — การข้าม middleware ผ่าน segment-prefetch route
  • GHSA-mg66-mrh9-m8jx — การปฏิเสธการให้บริการผ่านการทำให้การเชื่อมต่อหมด (connection exhaustion) ใน Cache Components
  • GHSA-492v-c6pp-mqqv — การข้าม middleware ผ่าน การฉีดพารามิเตอร์ ของ dynamic route
    • ไม่สามารถบล็อกได้อย่างปลอดภัยด้วยกฎ WAF และอาจทำให้การทำงานของแอปพลิเคชันเสียหาย
  • GHSA-c4j6-fc7j-m34r — SSRF (การปลอมแปลงคำขอฝั่งเซิร์ฟเวอร์) ผ่าน WebSocket upgrade
    • ไม่สามารถบล็อกได้อย่างปลอดภัยด้วยกฎ WAF
  • GHSA-36qx-fr4f-26g5 — การข้าม middleware ใน Pages Router i18n

ช่องโหว่ระดับ Moderate (4 รายการ)

  • GHSA-ffhc-5mcf-pf4q — XSS ผ่าน CSP nonce
  • GHSA-gx5p-jg67-6x7h — XSS ใน สคริปต์ beforeInteractive
  • GHSA-h64f-5h5j-jqjh — การปฏิเสธการให้บริการใน Image Optimization API
  • GHSA-wfc6-r584-vfw7 — cache poisoning ของ การตอบกลับ RSC

ช่องโหว่ระดับ Low (2 รายการ)

  • GHSA-vfv6-92ff-j949 — cache poisoning ผ่าน การชนกันของ cache busting ใน RSC
  • GHSA-3g8h-86w9-wvmq — cache poisoning ของ middleware redirect

ความสามารถในการบล็อกด้วย WAF

  • ช่องโหว่ที่สามารถบล็อกได้ในระดับเครือข่าย (WAF) ถูกจำกัดอยู่เพียง บางส่วนของกลุ่ม DoS โดยกฎที่มีอยู่เดิมสำหรับรับมือ CVE ของ React Server Component ยังใช้กับช่องโหว่ DoS รายการใหม่ได้
  • ช่องโหว่ระดับ High หลายรายการ เช่น การข้าม middleware, SSRF และ XSS ไม่สามารถบล็อกได้อย่างปลอดภัยด้วย WAF ทำให้การแพตช์โค้ดแอปพลิเคชันเป็นวิธีรับมือเพียงอย่างเดียว
  • แม้บางรายการจะรับมือได้ด้วยกฎ WAF แบบกำหนดเอง แต่หากนำไปใช้เป็นกฎ managed แบบครอบคลุมทั่วระบบ ก็มี ความเสี่ยงที่จะทำให้แอปพลิเคชันทำงานผิดปกติ

ผลกระทบตามตัว adapter ของเฟรมเวิร์ก

  • Vinext: ด้วยสถาปัตยกรรมที่แตกต่างจาก Next.js มาตรฐาน จึงไม่เสี่ยงต่อ CVE ที่เปิดเผยครั้งนี้
    • ไม่มีการติดตั้ง PPR resume protocol, ไม่เปิดเผย data-route endpoint ของ Pages Router และลบ internal header เช่น x-nextjs-data ออกจากขอบเขตคำขอ
    • เพิ่มการป้องกันโดยเปลี่ยนให้ vinext init ต้องใช้ React 19.2.6 ขึ้นไป
  • OpenNext: ตัว adapter เองไม่ได้มีช่องโหว่โดยตรง แต่ผู้ใช้ต้อง อัปเดตเวอร์ชัน Next.js ของแอปพลิเคชันด้วยตนเอง
    • มีการออกเวอร์ชันใหม่เพื่อเสริมความแข็งแกร่งให้ adapter เพิ่มเติมแล้ว

ยังไม่มีความคิดเห็น

ยังไม่มีความคิดเห็น