เปิดเผยช่องโหว่ความปลอดภัยหลายรายการใน React และ Next.js แนะนำให้อัปเดตแพตช์ทันที
(developers.cloudflare.com)- ทีม 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.js15.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 routeGHSA-mg66-mrh9-m8jx— การปฏิเสธการให้บริการผ่านการทำให้การเชื่อมต่อหมด (connection exhaustion) ใน Cache ComponentsGHSA-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 nonceGHSA-gx5p-jg67-6x7h— XSS ใน สคริปต์beforeInteractiveGHSA-h64f-5h5j-jqjh— การปฏิเสธการให้บริการใน Image Optimization APIGHSA-wfc6-r584-vfw7— cache poisoning ของ การตอบกลับ RSC
ช่องโหว่ระดับ Low (2 รายการ)
GHSA-vfv6-92ff-j949— cache poisoning ผ่าน การชนกันของ cache busting ใน RSCGHSA-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ต้องใช้ React19.2.6ขึ้นไป
- ไม่มีการติดตั้ง PPR resume protocol, ไม่เปิดเผย data-route endpoint ของ Pages Router และลบ internal header เช่น
- OpenNext: ตัว adapter เองไม่ได้มีช่องโหว่โดยตรง แต่ผู้ใช้ต้อง อัปเดตเวอร์ชัน Next.js ของแอปพลิเคชันด้วยตนเอง
- มีการออกเวอร์ชันใหม่เพื่อเสริมความแข็งแกร่งให้ adapter เพิ่มเติมแล้ว
ยังไม่มีความคิดเห็น