ช่องโหว่ร้ายแรง ใน runC เปิดช่องให้แฮกเกอร์เจาะคอนเทนเนอร์ได้
นักวิจัยด้านความปลอดภัยเปิดเผยช่องโหว่ร้ายแรง 3 จุดใน runC ซึ่งเป็น Container Runtime ที่ใช้กันอย่างแพร่หลายใน Docker, Kubernetes และแพลตฟอร์มคอนเทนเนอร์อื่นๆ ช่องโหว่เหล่านี้เปิดโอกาสให้ผู้โจมตีสามารถ “แหกคอนเทนเนอร์” (Container Escape) เพื่อเข้าถึงระบบโฮสต์ได้ในระดับ Root อย่างสมบูรณ์
runC คืออะไรและสำคัญอย่างไร
runC เป็นเครื่องมือ CLI (Command Line Interface) ที่ใช้สำหรับสร้างและรันคอนเทนเนอร์ตามมาตรฐาน Open Container Initiative (OCI) มันทำหน้าที่จัดการการทำงานระดับต่ำสุด เช่น การสร้างกระบวนการคอนเทนเนอร์ การตั้งค่า Namespaces, Mounts และ Cgroups ที่เครื่องมือระดับสูงอย่าง Docker และ Kubernetes เรียกใช้งาน ปัจจุบัน runC ถูกใช้อยู่ในระบบคอนเทนเนอร์เกือบทุกแพลตฟอร์มทั่วโลก
3 ช่องโหว่ร้ายแรงที่เพิ่งถูกเปิดเผย
Aleksa Sarai วิศวกรซอฟต์แวร์อาวุโสจาก SUSE Linux และสมาชิกคณะกรรมการ Open Container Initiative ได้เปิดเผยช่องโหว่ทั้งสามรหัส CVE-2025-31133, CVE-2025-52565 และ CVE-2025-52881 ซึ่งทั้งหมดได้รับคะแนน CVSS สูง และทีมพัฒนาได้ออกแพตช์มากกว่า 20 ฉบับเพื่อแก้ไขปัญหาดังกล่าวแล้ว
CVE-2025-31133 เป็นช่องโหว่ที่เกิดจากการตรวจสอบไฟล์ /dev/null ไม่เพียงพอ ผู้โจมตีสามารถแทนที่ไฟล์นี้ด้วย Symlink ที่ชี้ไปยังไฟล์สำคัญของระบบโฮสต์ได้ ทำให้ runC เปิดสิทธิ์เขียนข้อมูลไปยังไฟล์เหล่านั้นโดยไม่ตั้งใจ โดยเฉพาะไฟล์อย่าง /proc/sys/kernel/core_pattern ซึ่งสามารถใช้แหกคอนเทนเนอร์ได้อย่างสมบูรณ์ ช่องโหว่นี้ส่งผลกระทบต่อ runC ทุกเวอร์ชันที่รู้จัก
CVE-2025-52565 มีแนวคิดการโจมตีคล้ายกับ CVE-2025-31133 แต่โจมตีผ่านการ bind-mount ของ /dev/console แทน หากผู้โจมตีแทนที่ /dev/pts/$n ด้วย Symlink runC จะทำการ bind-mount เป้าหมายของ Symlink นั้นไว้บน /dev/console ทำให้สามารถเข้าถึงไฟล์สำคัญอย่าง /proc/sys/kernel/core_pattern หรือ /proc/sysrq-trigger ได้ ช่องโหว่นี้ส่งผลกระทบต่อ runC เวอร์ชัน 1.0.0-rc3 และใหม่กว่า
CVE-2025-52881 เป็นช่องโหว่ที่ทำให้ผู้โจมตีสามารถหลอก runC ให้เปลี่ยนเส้นทางการเขียนข้อมูลไปยังไฟล์ระบบที่อันตราย เช่น /proc/sysrq-trigger ซึ่งสามารถใช้ทำให้ระบบโฮสต์หยุดทำงานหรือเกิดความเสียหายได้ ช่องโหว่นี้เกิดจาก Race Condition (TOCTOU) ที่ซับซ้อน ซึ่งใช้ประโยชน์จากช่วงเวลาระหว่างที่ runC ตรวจสอบเส้นทางไฟล์กับเวลาที่มันเขียนข้อมูลจริง และส่งผลกระทบต่อ runC ทุกเวอร์ชัน
แพตช์และมาตรการรับมือเร่งด่วน
ผู้ดูแลระบบที่ใช้ runC ควรอัปเดตไปยังเวอร์ชัน 1.2.8, 1.3.3 หรือ 1.4.0-rc.3 หรือใหม่กว่าทันที
Amazon Web Services (AWS) ได้ออกประกาศแจ้งลูกค้าว่าไม่มีความเสี่ยงข้ามลูกค้า (Cross-Customer Risks) แต่แนะนำให้อัปเดตสภาพแวดล้อมไปยัง runC เวอร์ชันใหม่โดยเร็ว ผู้ให้บริการคลาวด์อื่นๆ รวมถึง ECS และ EKS ได้ปล่อยอัปเดตออกมาแล้วตั้งแต่วันที่ 5 พฤศจิกายน 2025
นอกจากการอัปเดตแล้ว Sysdig บริษัทด้านความปลอดภัยยังแนะนำให้เปิดใช้งาน User Namespaces สำหรับคอนเทนเนอร์ทั้งหมด เพราะจะช่วยบล็อกช่องทางการโจมตีที่ร้ายแรงที่สุดได้ เนื่องจากกระบวนการใน User Namespace จะไม่สามารถเข้าถึงไฟล์ procfs ที่จำเป็นต่อการโจมตีได้ นอกจากนี้ควรใช้ Rootless Container เมื่อเป็นไปได้เพื่อจำกัดขอบเขตของช่องโหว่
ความเสี่ยงและผลกระทบต่อธุรกิจ
แม้ว่าจะยังไม่พบการโจมตีจริงที่ใช้ประโยชน์จากช่องโหว่เหล่านี้ แต่ความเสี่ยงหลักคือผู้โจมตีสามารถหลอก runC และข้ามกลไกการแยกคอนเทนเนอร์ได้ การแหกคอนเทนเนอร์สำเร็จไม่เพียงกระทบต่อคอนเทนเนอร์ที่ถูกโจมตีเท่านั้น แต่อาจส่งผลต่อระบบโฮสต์ทั้งหมดและคอนเทนเนอร์อื่นๆ ที่อยู่ร่วมกัน ในสภาพแวดล้อมแบบ Multi-Tenant การแหกคอนเทนเนอร์อาจนำไปสู่การเปิดเผยข้อมูลข้ามลูกค้าและความรับผิดทางกฎหมายอย่างร้ายแรง
ผู้โจมตีที่สามารถแหกคอนเทนเนอร์ได้อาจติดตั้ง Cryptominer, สร้าง Backdoor ถาวร หรือขโมยข้อมูลจากหลาย Workload พร้อมกัน สำหรับองค์กรที่ใช้ Kubernetes Cluster การโจมตีแบบนี้อาจทำให้ระบบถูกบุกรุกได้ภายในเวลาไม่ถึง 10 นาที โดยเฉพาะเมื่อใช้ร่วมกับเครื่องมือโจมตีอัตโนมัติหรือการตั้งค่าสิทธิ์ที่ผิดพลาดในสภาพแวดล้อม Production

