แจ้งเตือน! ช่องโหว่ใน React Server Components เสี่ยงถูกโจมตีระบบได้โดยไม่ต้องยืนยันตัวตน ควรอัปเดตเป็นเวอร์ชันล่าสุดทันที

ยอดเข้าชม: 153 views

ศูนย์ประสานการรักษาความมั่นคงปลอดภัยระบบคอมพิวเตอร์แห่งชาติ (ThaiCERT) ขอแจ้งเตือนช่องโหว่ระดับวิกฤตใน React Server Components ซึ่งอาจทำให้ผู้โจมตีสามารถสั่งรันคำสั่งบนระบบได้ (Remote Code Execution: RCE) โดยไม่ต้องผ่านการยืนยันตัวตน (Unauthenticated) ซึ่งช่องโหว่นี้ส่งผลกระทบต่อระบบที่ใช้งานไลบรารี react-server-dom-webpack, react-server-dom-parcel และ react-server-dom-turbopack ในเวอร์ชัน 19.0 ถึง 19.3.0 ซึ่งอาจนำไปสู่การยึดครองเซิร์ฟเวอร์และข้อมูลรั่วไหลได้ ผู้ดูแลระบบจึงควรตรวจสอบและอัปเดตเป็นเวอร์ชัน 19.0.9, 19.1.10, 19.2.9 หรือ 19.3.1 ทันที

1. รายละเอียดภัยคุกคาม [1]
ช่องโหว่รหัส GHSA-xqc2-xf4c-x3h3 มีความรุนแรงอยู่ในระดับวิกฤต (CVSS v4.0 คะแนน 9.5) เกิดจากข้อบกพร่องในการตรวจสอบข้อมูลนำเข้าไม่เพียงพอ (Improper Input Validation) ภายในการประมวลผลของ React Server Components (RSC) ทำให้ผู้โจมตีจากภายนอกที่ไม่ได้รับอนุญาตและไม่ต้องเข้าสู่ระบบ สามารถส่งชุดข้อมูลที่สร้างขึ้นเป็นพิเศษไปยังเซิร์ฟเวอร์เป้าหมาย เพื่อทำให้ระบบประมวลผลและสั่งรันคำสั่งที่เป็นอันตรายได้ตามที่ผู้โจมตีกำหนด (Arbitrary Code Execution) โดยไม่ต้องอาศัยการโต้ตอบจากผู้ใช้งาน

2. ผลกระทบที่อาจเกิดขึ้น
หากผู้ไม่หวังดีใช้ช่องโหว่นี้โจมตีได้สำเร็จ จะเกิดผลกระทบต่อความมั่นคงปลอดภัยของระบบทั้งด้านการรักษาความลับ ความถูกต้อง และความพร้อมใช้งานของข้อมูล ดังนี้ :
2.1 ผู้โจมตีสามารถสั่งรันคำสั่ง (Remote Code Execution: RCE) บนเซิร์ฟเวอร์ได้โดยไม่ต้องยืนยันตัวตน
2.2 อาจนำไปสู่การเข้าถึงและขโมยข้อมูลความลับขององค์กร ข้อมูลส่วนบุคคล หรือการลักลอบแก้ไขเปลี่ยนแปลงข้อมูลภายในระบบโดยไม่ได้รับอนุญาต
2.3 ผู้โจมตีสามารถติดตั้งช่องทางลับเข้าถึงระบบ (Backdoor) เพื่อควบคุมเซิร์ฟเวอร์อย่างสมบูรณ์ หรือทำให้ระบบหยุดการทำงานไม่สามารถให้บริการได้
2.4 ผู้โจมตีอาจใช้สิทธิ์ภายในเซิร์ฟเวอร์เป็นฐานในการขยายผลการโจมตีไปยังระบบงานอื่น ๆ ในเครือข่ายภายใน (Lateral Movement) และขโมยข้อมูลรับรองสิทธิ์ (Credentials) ของผู้ใช้หรือระบบที่เชื่อมต่ออยู่

3. ระบบที่อาจได้รับผลกระทบ
3.1 แอปพลิเคชันที่ติดตั้งแพ็กเกจต่อไปนี้
– react-server-dom-webpack
– react-server-dom-parcel
– react-server-dom-turbopack
โดยแพ็กเกจทั้งสามรายการได้รับผลกระทบในช่วงเวอร์ชัน 19.0.0–19.0.8, 19.1.0–19.1.9, 19.2.0–19.2.8 และ 19.3.0
3.2 ระบบที่ใช้เฟรมเวิร์ก (เช่น Next.js รุ่นที่รองรับ RSC) เครื่องมือรวมโค้ด (Bundler) หรือปลั๊กอินที่รองรับฟีเจอร์ React Server Components และมีการเรียกใช้แพ็กเกจข้างต้นเป็นส่วนประกอบในเวอร์ชันที่ได้รับผลกระทบ

4. แนวทางการตรวจสอบและป้องกัน [2]
4.1 ตรวจสอบว่าในระบบมีการติดตั้งแพ็กเกจ react-server-dom-webpack, react-server-dom-parcel หรือ react-server-dom-turbopack หรือไม่
4.2 หากพบเวอร์ชันที่ได้รับผลกระทบ ให้อัปเดตเป็น 19.0.9, 19.1.10, 19.2.9 หรือ 19.3.1 ตามสายเวอร์ชันที่ใช้งานอยู่ โดยสามารถตรวจเวอร์ชันที่แก้ไขแล้วได้ที่ https://dg.th/3nwtc4v8kx
4.3 ตรวจสอบบันทึกการเข้าถึงและบันทึกการทำงานของเซิร์ฟเวอร์ เพื่อค้นหาคำขอหรือพฤติกรรมผิดปกติ
4.4 ทดสอบการทำงานของ React Server Components และฟังก์ชันที่เกี่ยวข้องหลังการอัปเดต เพื่อยืนยันว่าระบบยังสามารถทำงานได้ตามปกติ

5. แนวทางลดความเสี่ยงชั่วคราว
5.1 จำกัดการเข้าถึง API endpoints ที่เกี่ยวข้องกับการประมวลผล React Server Components ให้เฉพาะ IP ที่เชื่อถือได้เท่านั้น
5.2 พิจารณาปิดการใช้งานฟีเจอร์ React Server Components ชั่วคราวในส่วนที่ไม่จำเป็น และสลับไปใช้กลไกการประมวลผลและแสดงผลแบบมาตรฐานแทนจนกว่าจะอัปเดตระบบเสร็จสิ้น
5.3 เพิ่มการตรวจสอบอินพุต (Input Validation) ที่ระดับ Application Firewall หรือ WAF เพื่อกรองคำขอที่ผิดปกติ
5.4 ตรวจสอบสิทธิ์การเข้าถึงไฟล์ระบบและกระบวนการทำงานของเซิร์ฟเวอร์เพื่อจำกัดความเสียหายหากเกิดการโจมตี

แหล่งอ้างอิง
[1] https://dg.th/3nwtc4v8kx
[2] https://dg.th/yt0m3sbp9o