สรุปสั้น
นาย Paulos Yibelo นักวิจัยจากบริษัท pwn.ai เปิดเผยช่องโหว่ระดับวิกฤตในโค้ดเครือข่ายของ Linux kernel ที่ตั้งชื่อว่า PwnEscape และได้รหัส CVE-2026-99999 ช่องโหว่นี้ทำให้โค้ดที่รันอยู่ใน virtual machine ส่งแพ็กเก็ตที่สร้างขึ้นเฉพาะออกไป เพื่ออ่านหน่วยความจำของเครื่อง host ทำให้ host ล่ม และรันโค้ดบน host ได้ บริษัท Vercel ยืนยันว่าการรั่วหน่วยความจำถูกสาธิตได้จริงบน sandbox ที่ใช้งานจริงของบริษัท โดยแต่ละแพ็กเก็ตดึงหน่วยความจำ host กลับมาได้ราว 32 ไบต์ และดึงต่อได้เรื่อย ๆ ตราบที่ยังส่งแพ็กเก็ต ส่วนการทำ host ล่มและการยึดสิทธิ์ผู้ดูแลระบบเกิดบนเครื่องในแล็บที่ตั้งค่าเลียนแบบ Vercel เท่านั้น
ผู้ดูแลเคอร์เนลให้คะแนนช่องโหว่ 9.3 ระดับ Critical แต่ระบุ attack vector เป็น local หมายความว่าผู้โจมตีต้องรันโค้ดใน guest อยู่แล้ว ไม่ใช่ช่องโหว่ที่คนนอกยิงข้ามอินเทอร์เน็ตได้ ยังไม่อยู่ในแคตตาล็อก KEV ของ CISA และไม่มีรายงานการใช้โจมตีจริง จุดที่ทำให้เรื่องนี้สำคัญคือช่องโหว่อยู่ในชั้นเคอร์เนลที่ผู้ให้บริการคลาวด์แทบทุกรายใช้แยก workload ของลูกค้าออกจากกัน ไม่ใช่ปัญหาการตั้งค่าของ Vercel ช่องโหว่ถูกพบในการแข่งขันมูลค่า 1 ล้านดอลลาร์สหรัฐของ Vercel ด้วยระบบวิจัยที่ใช้ AI ช่วย ภายใน 3 วัน และแพตช์ถูก backport ไปทุกสาย stable แล้ว
รายละเอียดข่าว
เว็บไซต์ The Hacker News รายงานเมื่อวันที่ 16 ตุลาคม 2569 ว่า PwnEscape ถูกพบในการแข่งขันสองสัปดาห์ที่ Vercel จัดเมื่อเดือนสิงหาคม โดยเสนอรางวัลรวมสูงสุด 1 ล้านดอลลาร์สหรัฐแก่ผู้ที่เจาะออกจาก sandbox ได้ รางวัลสูงสุดต่อรายงานคือ 50,000 ดอลลาร์ Vercel จ่ายไปทั้งหมด 242,000 ดอลลาร์จาก 1,285 รายงาน และ PwnEscape เป็นรายงานระดับ Critical เพียงรายการเดียว ช่องโหว่ถูกรายงานแบบส่วนตัวก่อนเปิดเผย และ Vercel ระบุว่าไม่มีรายงานใดในการแข่งขันที่แสดงการอ่านไฟล์ ความลับ หรือข้อมูลแอปพลิเคชันของลูกค้าได้
นาย Paulos Yibelo เน้นว่าการยึดสิทธิ์ root บน host เป็นผลในแล็บ “ไม่ใช่การอ้างว่ารันคำสั่ง root ได้ในสภาพแวดล้อมจริงของผู้ให้บริการรายใด” และอธิบายกับ The Hacker News ว่างานวิจัยรันผ่าน Omega-Pwn ระบบภายในที่รวมเครื่องมือวิจัยของบริษัทเข้ากับสถาปัตยกรรม OmegaClaw ของ SingularityNET โดยมี GPT-5.6 Sol เป็นโมเดลหลักในการวิเคราะห์ซอร์สโค้ด ขณะที่ทีมนักวิจัยกำหนดทิศทาง ตั้งคำถามกับผลลัพธ์ และยืนยันผลบนระบบที่ควบคุมเอง pwn.ai ระบุว่าค่าใช้จ่าย API token ต่ำกว่า 700 ดอลลาร์
Vercel Sandbox รันโค้ดของลูกค้าแต่ละรายใน Firecracker microVM ซึ่งมีเคอร์เนล Linux ของตัวเอง บนเครื่อง Amazon EC2 แบบ bare-metal microVM จึงเป็นกำแพงระหว่างลูกค้ากับ host และระหว่างลูกค้าด้วยกัน แต่ช่องโหว่ไม่ได้อยู่ที่กำแพงนั้น หากอยู่ในโค้ดเครือข่ายของเคอร์เนลฝั่ง host ซึ่ง pwn.ai ระบุว่า sandbox ของ Vercel ทำ hardening เกินมาตรฐานอุตสาหกรรมแล้วและไม่พบการตั้งค่าผิดพลาดใด ทั้งนี้ NVD ได้รับข้อมูล CVE แล้วแต่ยังไม่ได้ประเมินคะแนนของตัวเอง
รายละเอียดช่องโหว่
ต้นเหตุอยู่ที่การจัดการข้อมูล checksum ของแพ็กเก็ตในโค้ดเครือข่ายของเคอร์เนล จาก commit แก้ไข เคอร์เนลไม่ได้ตรวจว่าข้อมูล checksum ของแพ็กเก็ตที่ guest สร้างขึ้นชี้เข้าไปในส่วน IPv4 header หรือไม่ ก่อนนำไปประมวลผล ส่วนในการสาธิตบน Vercel แต่ละแพ็กเก็ตที่ส่งออกไปดึงหน่วยความจำของ host กลับมาได้ราว 32 ไบต์ (pwn.ai อธิบายกลไกเต็มไว้ใน write-up) ในแล็บ นักวิจัยพบว่าแพ็กเก็ตที่สร้างพิเศษเพียง 2 แพ็กเก็ตก็ทำให้ host ล่ม และดับ sandbox ทุกตัวที่รันบน host นั้นได้ และใช้ช่องโหว่เดียวกันต่อยอดจนได้สิทธิ์ผู้ดูแลระบบบน host
การแก้ไขเป็น commit เดียว (6785011f8b16) ที่เขียนโดยนาย Michael S. Tsirkin จากบริษัท Red Hat และรวมเข้า mainline แล้ว โดยเพิ่มการตรวจว่าข้อมูล checksum ของแพ็กเก็ตต้องไม่ชี้เข้าไปใน IPv4 header ก่อนเคอร์เนลจะดำเนินการ และใส่การตรวจนี้ใน 5 จุดของโค้ดเครือข่าย ผู้เขียนเรียกการแก้ไขนี้ว่า “มาตรการป้องกันเชิงลึก” และระบุว่าการตรวจที่ครอบคลุมกว่าตรงทางเข้าของแพ็กเก็ตยังต้องพัฒนาต่อ
เวอร์ชันแรกที่แก้ไขในแต่ละสาย stable ตามบันทึก CVE:
| สาย stable | เวอร์ชันแรกที่แก้ไข |
|---|---|
| 5.10 | 5.10.272 |
| 5.15 | 5.15.223 |
| 6.1 | 6.1.190 |
| 6.6 | 6.6.159 |
| 6.12 | 6.12.113 |
| 6.18 | 6.18.57 |
| 7.2 | 7.2.11 |
ผลกระทบ
กลุ่มที่เสี่ยงที่สุดคือผู้ให้บริการที่รันโค้ดของผู้อื่นบนเครื่องร่วมกัน ทั้งคลาวด์สาธารณะ แพลตฟอร์ม serverless, sandbox สำหรับรันโค้ด AI agent, CI/CD runner และผู้ให้บริการ VPS เพราะในบริบทเหล่านี้ “การรันโค้ดใน guest” ไม่ใช่อุปสรรค แต่เป็นบริการที่ผู้ใช้ได้อยู่แล้ว การอ่านหน่วยความจำ host อาจเผยข้อมูลของลูกค้ารายอื่นบนเครื่องเดียวกัน และการทำ host ล่มด้วยแพ็กเก็ตเพียง 2 แพ็กเก็ตก็เพียงพอจะกระทบลูกค้าทุกรายบน host นั้น Vercel เองจึงระบุว่าช่องโหว่ในชั้นนี้เป็นความเสี่ยงต่อโครงสร้างพื้นฐานแบบใช้ร่วมกันทั้งหมด ไม่ใช่เฉพาะผู้ให้บริการรายใด
อีกประเด็นที่ควรจับตาคือต้นทุนการค้นพบที่ลดลงมาก ช่องโหว่ระดับ VM escape ในเคอร์เนลที่ผ่านการตรวจสอบมาอย่างหนัก ถูกพบใน 3 วันด้วยค่า API ไม่ถึง 700 ดอลลาร์ เป็นอีกกรณีที่นักวิจัยใช้โมเดลภาษาขนาดใหญ่ช่วยค้นหาและเชื่อมโยงช่องโหว่จริง ซึ่งหมายความว่าผู้โจมตีที่มีทรัพยากรก็ทำแบบเดียวกันได้ และช่วงเวลาระหว่างแพตช์ออกกับการถูกใช้โจมตีอาจสั้นลง
คำแนะนำ
- อัปเดตเคอร์เนลของ host เป็นเวอร์ชันที่แก้ไขตามตาราง หรือ build ของ vendor ที่รวมแพตช์แล้ว และรีบูตเข้าเคอร์เนลใหม่ — อัปเดตเฉพาะเคอร์เนลของ guest ไม่ได้แก้ปัญหา
- ตรวจ security advisory ของ distro ว่ารวม commit 6785011f8b16 แล้ว เพราะ distro มัก backport โดยไม่เปลี่ยนเลขเวอร์ชัน อย่าเชื่อเลขจาก
uname -rอย่างเดียว - ยังไม่มีทางแก้ชั่วคราวเฉพาะช่องโหว่นี้ ระหว่างรอแพตช์ให้จำกัดขอบเขตความเสียหาย เช่น ปิด nested virtualization และรัน microVM ภายใต้ jailer หรือ sandbox ที่ให้สิทธิ์เท่าที่จำเป็น
- จัดลำดับความสำคัญให้ host ที่รันโค้ดของบุคคลภายนอกหรือโค้ดที่ไม่น่าเชื่อถือ (CI runner, sandbox ของ AI agent, multi-tenant VM) ก่อนเซิร์ฟเวอร์ทั่วไป
- ผู้ใช้คลาวด์สาธารณะให้ติดตามประกาศของผู้ให้บริการเกี่ยวกับการแพตช์ host
