
แฮ็กเกอร์กำลังมุ่งเป้าไปที่กลุ่มนักพัฒนาโดยใช้ช่องโหว่ระดับ Critical หมายเลข CVE-2025-11953 ใน Metro server ของ React Native เพื่อฝัง Payloads ที่เป็นอันตรายเข้าสู่ระบบปฏิบัติการ Windows และ Linux
บน Windows ผู้โจมตีที่ไม่ผ่านการยืนยันตัวตนจะสามารถใช้ช่องโหว่ดังกล่าวเพื่อรันคำสั่งใด ๆ บน OS ก็ได้ผ่าน POST request ส่วนบน Linux และ macOS ช่องโหว่นี้อาจนำไปสู่การรันไฟล์โปรแกรมใด ๆ ก็ตาม แต่จะมีการจำกัดการควบคุม Parameter บางส่วน
Metro คือ JavaScript bundler ที่เป็นค่า Default สำหรับโปรเจกต์ React Native และเป็นเครื่องมือสำคัญสำหรับการสร้าง และรันแอปพลิเคชันในช่วงระหว่างการพัฒนา
โดยค่า Default ของ Metro สามารถเชื่อมต่อกับ Interfaces เครือข่ายภายนอก และเปิดให้เข้าถึง HTTP endpoints ที่ออกแบบมาสำหรับขั้นตอนการพัฒนาเท่านั้น (เช่น /open-url) เพื่อให้ใช้งานแบบ Local ได้
นักวิจัยจาก JFrog บริษัทด้านความปลอดภัยของ Supply-chain ซอฟต์แวร์ ได้ค้นพบช่องโหว่ดังกล่าว และออกมาเปิดเผยเมื่อต้นเดือนพฤศจิกายนที่ผ่านมา ซึ่งหลังจากที่มีการเปิดเผยข้อมูลต่อสาธารณะ ก็เริ่มมีการปล่อยโค้ด Proof-of-Concept exploits ออกมาหลายตัว
ในบทความที่เผยแพร่ระบุว่า ต้นตอของปัญหาอยู่ที่ endpoint /open-url นั้นยอมรับคำสั่งแบบ POST request ที่แนบค่า URL ซึ่งผู้ใช้ป้อนเข้ามา และค่าเหล่านั้นถูกส่งต่อไปประมวลผลในฟังก์ชัน open() โดยไม่ผ่านการตรวจสอบความปลอดภัยเสียก่อน
ช่องโหว่ดังกล่าวส่งผลกระทบต่อแพ็กเกจ @react-native-community/cli-server-api ตั้งแต่เวอร์ชัน 4.8.0 ถึง 20.0.0-alpha.2 และได้รับการแก้ไขแล้วในเวอร์ชัน 20.0.0 ขึ้นไป
เมื่อวันที่ 21 ธันวาคม 2025 บริษัทด้านข่าวกรองความปลอดภัย VulnCheck ตรวจพบผู้ไม่หวังดีกำลังใช้ประโยชน์จากช่องโหว่ CVE-2025-11953 ซึ่งถูกเรียกว่า "Metro4Shell" โดยพบกิจกรรมการโจมตีเพื่อปล่อย Payloads แบบเดิมต่อเนื่องในวันที่ 4 และ 21 มกราคมที่ผ่านมา
VulnCheck ระบุว่า “การโจมตีดังกล่าวมีการส่ง Payloads อันตรายทั้งบน Linux และ Windows ซึ่งแสดงให้เห็นว่า Metro4Shell เป็นกลไกการเข้าถึงระบบเบื้องต้น (Initial Access Mechanism) แบบข้ามแพลตฟอร์มที่สามารถนำมาใช้โจมตีได้จริง”
ในการโจมตีทั้ง 3 ครั้ง นักวิจัยพบการส่ง PowerShell Payloads ชุดเดียวกันที่ถูกเข้ารหัสแบบ Base-64 โดยซ่อนมาในส่วน Body ของ HTTP POST Request ที่เป็นอันตราย ซึ่งพุ่งเป้าไปยัง Endpoints ที่เปิดทิ้งไว้
เมื่อโค้ดถูกถอดรหัส และเริ่มทำงาน Payloads จะดำเนินการดังต่อไปนี้
- ปิดการทำงานของระบบป้องกัน โดยใช้คำสั่ง Add-MpPreference เพื่อเพิ่ม Exclusion paths ใน Microsoft Defender ให้กับทั้ง Directory ปัจจุบันที่กำลังทำงานอยู่ และ Directory ชั่วคราวของระบบ
- สร้างการเชื่อมต่อแบบ Raw TCP ไปยังเซิร์ฟเวอร์ของผู้โจมตี และส่งคำสั่ง GET /windows เพื่อดึง Payload ในระยะถัดไปออกมา
- บันทึกข้อมูลที่ได้รับ ลงใน Disk เป็นไฟล์โปรแกรมไว้ใน Directory ชั่วคราวของระบบ
- สั่งรันไฟล์ Binary ที่ดาวน์โหลดมา พร้อมแนบ Argument string ขนาดใหญ่ตามที่ผู้โจมตีกำหนดไว้
Payload สำหรับ Windows ที่พบในการโจมตีเหล่านี้ เป็นไฟล์ Binary ที่พัฒนาด้วยภาษา Rust และถูกบีบอัดด้วย UPX โดยมีกลไกพื้นฐานเพื่อป้องกันการถูกตรวจสอบวิเคราะห์ (Anti-analysis logic) นอกจากนี้ บนโครงสร้างพื้นฐานเดียวกันยังพบไฟล์ Binary สำหรับ Linux เก็บไว้อยู่ด้วย ซึ่งแสดงให้เห็นว่าการโจมตีนี้ครอบคลุมทั้งสองแพลตฟอร์ม
ข้อมูลจากการสแกนด้วย ZoomEye (เครื่องมือค้นหาสำหรับอุปกรณ์ที่เชื่อมต่อเครือข่าย, บริการ และเว็บแอปพลิเคชัน) ระบุว่า ปัจจุบันมี React Native Metro servers ประมาณ 3,500 แห่งที่เปิดเผยอยู่บนอินเทอร์เน็ต
แม้ว่าจะมีการตรวจพบการโจมตีอย่างต่อเนื่องมานานกว่าหนึ่งเดือน แต่ช่องโหว่ดังกล่าวยังมีคะแนนต่ำใน Exploit Prediction Scoring System (EPSS) ซึ่งเป็นกรอบการประเมินความเสี่ยงที่ใช้คาดการณ์แนวโน้มที่จะถูกใช้ในการโจมตี
นักวิจัยระบุว่า "องค์กรต่าง ๆ ไม่สามารถรอให้ CISA นำช่องโหว่ดังกล่าวลงในรายการ KEV (Known Exploited Vulnerabilities), รอรายงานจากผู้ผลิต, หรือรอให้เกิดฉันทามติในวงกว้างก่อนแล้วค่อยลงมือจัดการ"
รายงานของ VulnCheck ได้ระบุ IoCs (Indicators of Compromise) สำหรับทั้งโครงสร้างเครือข่ายของผู้โจมตี รวมถึง Payloads ที่ใช้โจมตีบนระบบ Windows และ Linux เอาไว้ด้วย
ที่มา : bleepingcomputer

You must be logged in to post a comment.