พบช่องโหว่การรันโค้ดที่เป็นอันตรายจากระยะไกล (RCE) ระดับ Critical หมายเลข CVE-2025-11953 ในแพ็คเกจ NPM @react-native-community/cli
แพ็คเกจนี้มียอดดาวน์โหลดเกือบ 2 ล้านครั้งต่อสัปดาห์ โดยทำหน้าที่เป็นเครื่องมือ command-line interface (CLI) สำหรับ React Native ซึ่งเป็น JavaScript framework ที่นักพัฒนาใช้ในการสร้างแอปฯ มือถือแบบ cross-platform
ช่องโหว่นี้ได้คะแนน CVSS 9.8 เนื่องจากสามารถเข้าถึงได้ผ่านเครือข่าย มีความซับซ้อนในการโจมตีต่ำ และอาจสร้างความเสียหายร้ายแรง โดยทำให้ผู้โจมตีที่ไม่ต้องผ่านการยืนยันตัวตน สามารถรันคำสั่งบนระบบปฏิบัติการบนเครื่องของนักพัฒนาผ่านทาง development server ของแพ็คเกจได้
CLI ของ React Native ซึ่งถูกแยกออกจากโค้ดหลักเมื่อหลายปีก่อนเพื่อให้บำรุงรักษาง่ายขึ้น ทำหน้าที่จัดการงานที่สำคัญ เช่น การเริ่มต้นโปรเจกต์ และการรัน Metro bundler
คำสั่งอย่าง “npm start” หรือ “npx react-native run-android” จะเป็นการเปิดใช้งานเซิร์ฟเวอร์นี้ ซึ่งทำหน้าที่ bundle JavaScript สำหรับ emulators หรืออุปกรณ์
แต่นักวิจัยของ JFrog พบว่า /open-url endpoint ของเซิร์ฟเวอร์ จัดการ user input ผิดพลาด โดยส่งข้อมูลนั้นโดยตรงไปยังฟังก์ชัน open() ที่ไม่ปลอดภัยของไลบรารี NPM ที่ชื่อ “open”
บน Windows เหตุการณ์นี้ทำให้เกิดการรันคำสั่ง shell ที่สามารถควบคุมพารามิเตอร์ได้อย่างเต็มที่ ตัวอย่าง PoC พิสูจน์ด้วยการเปิดโปรแกรม calc.
