สรุปสั้น

บริษัท DepthFirst เผยแพร่งานวิจัยเมื่อวันที่ 22 กันยายนว่า ช่องโหว่ use-after-free ในระบบย่อยซ็อกเก็ต AF_UNIX ของเคอร์เนล Linux สามารถถูกใช้เพื่อหนีออกจากคอนเทนเนอร์และยกระดับสิทธิ์เป็น root บนเครื่องโฮสต์ได้ ช่องโหว่ถูกติดตามในรหัส CVE-2026-80521 มีคะแนน CVSS 7.8 และได้รับการแก้ไขที่ต้นน้ำไปเมื่อวันที่ 6 สิงหาคม แต่ Ubuntu ยังไม่ได้ปล่อยแพตช์ให้รุ่น LTS 26.04, 24.04 และ 22.04 โดย DepthFirst ได้ปล่อยโค้ดโจมตีที่เล็งเป้า Ubuntu 26.04 ออกมา ตัวติดตามความมั่นคงของ Ubuntu ระบุสถานะแพ็กเกจ Linux บน 26.04 ว่า “มีช่องโหว่ กำลังดำเนินการ” ส่วนรุ่น 24.04 และ 22.04 ก็ได้รับผลกระทบผ่านแพ็กเกจเคอร์เนลรุ่นใหม่กว่า รวมถึงตัวสำหรับภาระงานบน AWS, Azure และ GCP โดยยังไม่มีการปล่อยแพตช์บนรุ่นที่ได้รับผลกระทบเลย ช่องโหว่นี้ยังไม่อยู่ในแคตตาล็อก KEV ของ CISA และยังไม่มีรายงานการโจมตีจริงที่ยืนยันได้

รายละเอียดข่าว

เว็บไซต์ The Hacker News รายงานเมื่อวันที่ 23 กันยายน พ.ศ. 2569 ว่า มีการปล่อยโค้ดโจมตีสำหรับช่องโหว่ Ubuntu Linux ที่ยังไม่มีแพตช์ ซึ่งเปิดให้หนีออกจากคอนเทนเนอร์และได้สิทธิ์ root บนโฮสต์ อ้างอิงจากงานวิจัยของบริษัทความมั่นคง DepthFirst

ช่องโหว่อยู่ในตัวเก็บขยะ (garbage collector) สำหรับซ็อกเก็ต AF_UNIX ของเคอร์เนล ตัวเก็บขยะนี้ทำหน้าที่ทำความสะอาด file descriptor ที่ถูกส่งผ่านระหว่างโพรเซสด้วยข้อความ SCM_RIGHTS โดยซ็อกเก็ต AF_UNIX จัดการการสื่อสารภายในเครื่องระหว่างโพรเซสและถูกอนุญาตโดยค่าเริ่มต้นในโปรไฟล์ seccomp ของ Docker และ Kubernetes ซึ่งเป็นเหตุผลที่ช่องโหว่นี้เข้าถึงได้จากภายในคอนเทนเนอร์

จุดที่เกิดปัญหาคือ race condition ในตัวเก็บขยะที่ทำให้มันเห็นการอ้างอิงใหม่ก่อนที่ข้อมูลซึ่งพาการอ้างอิงเหล่านั้นมาจะถูกจัดคิว หากตัวเก็บขยะทำงานในช่วงเวลานั้น มันจะสามารถปลดปล่อย (free) ส่วนหนึ่งของกลุ่มซ็อกเก็ตที่เชื่อมโยงกันได้โดยไม่ได้ลบพอยน์เตอร์ออกจากรายการภายในที่คงอยู่ถาวร การกวาดล้างรอบถัดไปจึงตามพอยน์เตอร์นั้นเข้าไปในหน่วยความจำที่ถูกปลดปล่อยไปแล้ว เนื่องจากโค้ดโจมตีเข้าถึงเคอร์เนลผ่าน system call ทั่วไปที่คอนเทนเนอร์ได้รับอนุญาตให้เรียก จึงข้ามผ่านการแยกด้วย namespace ข้อจำกัดของ cgroup และการกรองด้วย seccomp ไปได้

Exploit released for unpatched Ubuntu Linux flaw enabling host-root container escape

รายละเอียดช่องโหว่

แพตช์ที่ต้นน้ำถูกรวมเข้ามาเมื่อวันที่ 6 สิงหาคมในเคอร์เนลสายหลักเวอร์ชัน 7.2 และสายเสถียร 7.1.10 โค้ดที่มีช่องโหว่ถูกเพิ่มเข้ามาในเคอร์เนล 6.10 และถูก backport ไปยังสายเสถียร 6.1 และ 6.6 ด้วย องค์กรที่รันเคอร์เนลที่ได้รับผลกระทบสามารถนำแพตช์ต้นน้ำมาใช้ได้โดยตรง ขณะที่ตัวติดตามของ Ubuntu แสดงสถานะ “กำลังดำเนินการ” โดยไม่มีวันที่กำหนดสำหรับการอัปเดตของ distribution ทั้ง DepthFirst และ Ubuntu ยังไม่ได้เผยแพร่วิธีบรรเทาชั่วคราว โดย DepthFirst แนะนำให้ย้ายภาระงานที่ไม่น่าเชื่อถือไปใช้การแยกแบบ microVM เช่น Firecracker หรือ Kata Containers ซึ่งให้เคอร์เนลเป็นของตัวเองแก่แต่ละภาระงานแทนที่จะใช้เคอร์เนลของโฮสต์ร่วมกัน

DepthFirst ระบุว่าโมเดล AI ของบริษัทชื่อ dfs-large1 ซึ่งฝึกมาเพื่อตรวจหาช่องโหว่ เป็นผู้ค้นพบช่องโหว่นี้ร่วมกับชุดทดสอบที่มีคนควบคุม บริษัทชนะสิทธิ์ในการแข่ง Google kernelCTF ด้วยโค้ดโจมตีนี้เมื่อวันที่ 24 กรกฎาคม และรายงานบั๊กต่อทีมความมั่นคงของเคอร์เนลเมื่อวันที่ 5 สิงหาคม ผู้ดูแลเคอร์เนลตอบกลับว่ามีนักวิจัยที่ OpenAI รายงานบั๊กเดียวกันมาโดยอิสระ ตามไทม์ไลน์ของ DepthFirst โดยคอมมิต CVE ให้เครดิตนักวิจัยด้านการเจาะเคอร์เนลชื่อนาย Kyle Zeng ในฐานะผู้รายงาน

ผลกระทบ

การเปิดเผยครั้งนี้เป็นรายการล่าสุดในชุดช่องโหว่เคอร์เนลของปี 2569 ที่เปิดให้ผู้โจมตีหนีออกจากคอนเทนเนอร์ได้ โดยก่อนหน้านี้ช่องโหว่ futex ที่เปิดเผยเมื่อเดือนกรกฎาคมและช่องโหว่ในระบบย่อยการเข้ารหัสของเคอร์เนลเมื่อเดือนเมษายน ก็เปิดให้ผู้ใช้ที่ไม่มีสิทธิ์ยกระดับเป็น root บนโฮสต์ได้เช่นกัน และการค้นพบทั้งสองครั้งล้วนมี AI เข้ามาช่วยในการวิจัย DepthFirst โต้แย้งว่าการค้นหาช่องโหว่ที่เร่งด้วย AI ได้ลดกำแพงของการหนีคอนเทนเนอร์ลงจนถึงจุดที่องค์กรไม่ควรถือคอนเทนเนอร์เป็นขอบเขตความปลอดภัย โดยบริษัทระบุว่า “กำแพงของการหนีคอนเทนเนอร์ด้วยการโจมตีเคอร์เนลได้ลดลงอย่างมากจนเราต้องสมมติว่าผู้โจมตีทำได้ตามใจ” ทั้งนี้ในปี 2569 มีการเผยแพร่ CVE ของเคอร์เนล Linux เกือบ 5,700 รายการ ซึ่งเป็นยอดรายปีสูงสุดเท่าที่มีการบันทึกมา ตามข้อมูลของ LinuxCVETracker สำหรับองค์กรที่รันภาระงานหลายผู้เช่า (multi-tenant) บนคอนเทนเนอร์ Ubuntu ช่องโหว่นี้จึงเป็นความเสี่ยงที่ต้องจัดการอย่างจริงจัง เพราะผู้โจมตีที่ได้ที่มั่นในคอนเทนเนอร์เดียวอาจยึดทั้งโฮสต์และภาระงานอื่น ๆ ที่แชร์เครื่องเดียวกันได้

คำแนะนำ

องค์กรที่รันเคอร์เนลที่ได้รับผลกระทบและสามารถทำได้ ควรนำแพตช์ต้นน้ำ (เคอร์เนลสายหลัก 7.2 หรือสายเสถียร 7.1.10 ขึ้นไป) มาใช้โดยตรงระหว่างรอการอัปเดตจาก Ubuntu ซึ่งยังไม่มีกำหนด สำหรับภาระงานที่ไม่น่าเชื่อถือหรือรันโค้ดจากภายนอก ควรพิจารณาย้ายไปใช้การแยกแบบ microVM เช่น Firecracker หรือ Kata Containers ที่ให้เคอร์เนลแยกต่อภาระงานตามคำแนะนำของ DepthFirst ในเชิงหลักการ ควรเลิกถือคอนเทนเนอร์เป็นขอบเขตความปลอดภัยเพียงชั้นเดียว และเสริมการเฝ้าระวังพฤติกรรมผิดปกติที่ระดับโฮสต์ รวมถึงจำกัดสิทธิ์และความสามารถของคอนเทนเนอร์ให้น้อยที่สุดเท่าที่จำเป็น

แหล่งอ้างอิง