พบช่องโหว่ระดับ Critical ใน React และ Next.js อัปเดตแพตซ์ด่วน!

สรุปโดยย่อ

  • CVE-2025-55182 (React) และ CVE-2025-66478 (Next.js) เป็นช่องโหว่ RCE ระดับ Critical ซึ่งผู้โจมตีไม่จำเป็นต้องผ่านการยืนยันตัวตนในโปรโตคอล "Flight" ของ React Server Components (RSC)
  • ช่องโหว่อยู่ใน Default configurations – Next.js app มาตรฐานที่สร้างด้วย "create-next-app" และสร้างขึ้นสำหรับใช้งานบนระบบ Productionสามารถถูกโจมตีได้โดยที่ developer ไม่ต้องมีการแก้ไขโค้ดใด ๆ ก่อน
  • การโจมตีต้องการเพียง HTTP request ที่สร้างขึ้นมาเป็นพิเศษ จากการทดสอบด้วย RCE proof-of-concept มีโอกาสโจมตีได้สำเร็จเกือบ 100%
  • ช่องโหว่นี้เกิดจาก insecure deserialization ใน RSC payload handling logic ซึ่งทำให้ผู้โจมตีสามารถสั่งรันโค้ดฝั่งเซิร์ฟเวอร์ได้
  • จำเป็นต้องอัปเดตแพตช์ทันที โดยปัจจุบันมีแพตซ์เวอร์ชันใหม่สำหรับ React และ Next.js ให้สามารถอัปเดตได้แล้ว
  • ข้อมูลของ Wiz Research แสดงให้เห็นว่า cloud environments กว่า 39% มีอินสแตนซ์ที่เสี่ยงต่อการโจมตี


รายละเอียดทางเทคนิค

พบช่องโหว่ระดับ Critical ในโปรโตคอล "Flight" ของ React Server Components (RSC) ซึ่งส่งผลกระทบต่อ React 19 ecosystem และเฟรมเวิร์กที่ใช้งาน โดยเฉพาะอย่างยิ่ง Next.js ช่องโหว่นี้มีหมายเลข CVE-2025-55182 (React) และ CVE-2025-66478 (Next.js) ซึ่งทำให้สามารถรันโค้ดที่เป็นอันตรายจากระยะไกลได้ (RCE) โดยไม่ต้องผ่านการยืนยันตัวตน เนื่องจากกระบวนการ deserialization ที่ไม่ปลอดภัย ช่องโหว่นี้อยู่ใน Default configurations ของแอปพลิเคชันที่ได้รับผลกระทบ ซึ่งหมายความว่าการติดตั้งแบบ standard deployments จะมีความเสี่ยงทันที เนื่องจากระดับความรุนแรงที่สูง และการโจมตีที่ง่าย จึงจำเป็นต้องทำการอัปเดตแพตซ์เพื่อแก้ไขช่องโหว่ทันที

รายละเอียดของ CVE-2025-55182 และ CVE-2025-66478

CVE-2025-55182 เป็นช่องโหว่การเรียกใช้โค้ดที่เป็นอันตรายจากระยะไกล (RCE) ระดับ Critical โดยไม่ต้องผ่านการยืนยันตัวตน ในแพ็กเกจ react-server ที่ React Server Components (RSC) ใช้

CVE-2025-66478 เป็นช่องโหว่ RCE ใน Next.js ซึ่งมาจากพื้นฐานเดียวกันผ่านการใช้งานโปรโตคอล RSC "Flight"

โดยพื้นฐานแล้วช่องโหว่นี้อยู่ในแพ็กเกจ react-server และการจัดการโปรโตคอล RSC "Flight" ช่องโหว่นี้มีลักษณะเป็นช่องโหว่แบบ logical deserialization ซึ่งเซิร์ฟเวอร์ประมวลผลเพย์โหลด RSC ในลักษณะที่ไม่ปลอดภัย

เมื่อเซิร์ฟเวอร์ได้รับเพย์โหลดที่สร้างขึ้นมาเป็นพิเศษ และมีรูปแบบไม่ถูกต้อง เซิร์ฟเวอร์จะไม่สามารถตรวจสอบความถูกต้องของ structure ได้อย่างถูกต้อง วิธีนี้ช่วยให้ผู้โจมตีสามารถเรียกใช้งาน JavaScript code ที่ฝั่งเซิร์ฟเวอร์ได้

ข้อมูลของ Wiz Research การทดสอบโจมตีช่องโหว่นี้มีความแม่นยำสูง โดยมีอัตราความสำเร็จเกือบ 100% และสามารถนำไปใช้ในการเรียกใช้โค้ดที่เป็นอันตรายจากระยะไกลได้อย่างสมบูรณ์ โดยต้องการเพียง HTTP request ที่สร้างขึ้นเป็นพิเศษไปยังเซิร์ฟเวอร์เป้าหมาย ซึ่งส่งผลกระทบต่อ default configuration ของเฟรมเวิร์กยอดนิยมต่าง ๆ

ข้อมูลของ Wiz Research: ความเสี่ยงต่อ cloud environments

ข้อมูลของ Wiz ระบุว่า 39% ของ cloud environments มีอินสแตนซ์ของ Next.js หรือ React ในเวอร์ชันที่มีความเสี่ยง CVE-2025-55182 และ/หรือ CVE-2025-66478

เวอร์ชันที่ได้รับผลกระทบ

เฟรมเวิร์ก หรือไลบรารีใด ๆ ที่รวมการใช้งาน react-server ไว้ด้วยกันอาจได้รับผลกระทบ ซึ่งรวมถึง

  • Next.js
  • Vite RSC plugin
  • Parcel RSC plugin
  • React Router RSC preview
  • RedwoodSDK
  • Waku

Google ระบุว่า public OS images ของ Google Cloud for Compute Engine จะไม่ได้รับผลกระทบตามค่าเริ่มต้น

ผู้ดูแลระบบควรรีบอัปเกรด React และ dependencies ให้เป็นเวอร์ชันล่าสุดโดยด่วน ซึ่งเป็นวิธีการแก้ไขปัญหาที่ดีที่สุดในปัจจุบัน

หากใช้เฟรมเวิร์กอื่น ๆ ที่เปิดใช้งาน RSC (เช่น Redwood, Waku เป็นต้น) ควรตรวจสอบช่องทางอย่างเป็นทางการของเฟรมเวิร์กเหล่านั้นเพื่อดูข้อมูลอัปเดตเกี่ยวกับเวอร์ชันเซิร์ฟเวอร์ react ที่มีการใช้งาน และอัปเดตทันที

 

ที่มา: wiz.io/blog