นักวิจัยด้านความปลอดภัยทางไซเบอร์ได้เปิดเผยถึงการแก้ไขช่องโหว่ที่ไม่สมบูรณ์ สำหรับช่องโหว่ด้านความปลอดภัยที่เคยได้รับการแก้ไขไปแล้วใน NVIDIA Container Toolkit ซึ่งหากช่องโหว่นี้ถูกโจมตีสำเร็จ อาจทำให้ข้อมูลสำคัญตกอยู่ในความเสี่ยง
ช่องโหว่ดังกล่าวมีหมายเลข CVE-2024-0132 (คะแนน CVSS: 9.0) ซึ่งเป็นช่องโหว่ประเภท Time-of-Check Time-of-Use (TOCTOU) ที่สามารถนำไปสู่การโจมตีแบบ container escape และสามารถทำผู้โจมตีสามารถเข้าถึงระบบโฮสต์โดยไม่ได้รับอนุญาต
แม้ว่าช่องโหว่นี้จะได้รับการแก้ไขจาก NVIDIA ในเดือนกันยายน 2024 แต่การวิเคราะห์ล่าสุดโดย Trend Micro ได้เปิดเผยว่าแพตช์ที่ออกมายังไม่สมบูรณ์ และยังพบช่องโหว่ด้านประสิทธิภาพที่เกี่ยวข้อง ซึ่งส่งผลกระทบต่อ Docker บนระบบปฏิบัติการ Linux และอาจนำไปสู่สถานการณ์ Denial-of-service (DoS) ได้
นักวิจัยจาก Trend Micro, Abdelrahman Esmail ระบุในรายงานใหม่ที่เผยแพร่ในวันนี้ว่า "ปัญหาดังกล่าวอาจทำให้ผู้โจมตีสามารถ escape container เพื่อเข้าถึงทรัพยากรสำคัญบนโฮสต์ และทำให้เกิดการหยุดชะงักในการดำเนินงานได้"
การที่ช่องโหว่ TOCTOU ยังคงมีอยู่หมายความว่า container ที่ได้รับการสร้างขึ้นอย่างเฉพาะเจาะจง สามารถถูกใช้เพื่อเข้าถึง file system {}ของโฮสต์ และดำเนินการคำสั่งต่าง ๆ ด้วยสิทธิ์ของผู้ดูแลระบบ (root) ช่องโหว่นี้ส่งผลกระทบต่อเวอร์ชัน 1.17.4 หากฟีเจอร์ allow-cuda-compat-libs-from-container ถูกเปิดใช้งานเท่านั้น
Trend Micro ระบุว่า "ช่องโหว่เฉพาะนี้พบในฟังก์ชัน mount_files ซึ่งปัญหาเกิดจากการขาดกลไกการ locking ที่เหมาะสมในระหว่างดำเนินการกับอ็อบเจ็กต์ ซึ่งผู้โจมตีสามารถใช้ประโยชน์จากช่องโหว่นี้เพื่อยกระดับสิทธิ์ และรันโค้ดตามต้องการภายใต้บริบทของโฮสต์"
อย่างไรก็ตาม การยกระดับสิทธิ์ผ่านช่องโหว่นี้จะสามารถเกิดขึ้นได้ ก็ต่อเมื่อผู้โจมตีมีความสามารถในการรันโค้ดภายในคอนเทนเนอร์อยู่ก่อนแล้ว
ช่องโหว่นี้มีหมายเลข CVE-2025-23359 (คะแนน CVSS: 9.0) ซึ่งก่อนหน้านี้บริษัทด้านความปลอดภัยบนคลาวด์ Wiz ได้แจ้งเตือนว่า ช่องโหว่นี้ยังสามารถใช้เพื่อ bypass การป้องกันของช่องโหว่ CVE-2024-0132 ได้อีกด้วย โดยรายงานดังกล่าวถูกเปิดเผยเมื่อเดือนกุมภาพันธ์ 2025 โดยช่องโหว่นี้ได้รับการแก้ไขแล้วในเวอร์ชัน 1.17.4
บริษัทด้านความปลอดภัยทางไซเบอร์ระบุว่า ระหว่างการวิเคราะห์ช่องโหว่ CVE-2024-0132 ได้ตรวจพบปัญหาด้านประสิทธิภาพเพิ่มเติม ซึ่งอาจนำไปสู่ช่องโหว่ DoS บนเครื่องโฮสต์ โดยช่องโหว่นี้มีผลกระทบต่อ Docker ที่ใช้งานบนระบบปฏิบัติการ Linux
Esmail อธิบายว่า เมื่อมีการสร้าง container ใหม่พร้อมกำหนดค่าเมาท์หลายรายการที่กำหนดค่าโดยใช้ (bind-propagation=shared) จะมีการสร้างเส้นทาง parent/child หลายรายการ อย่างไรก็ตาม เมื่อ container ถูก terminate รายการเหล่านี้จะไม่ถูกลบออกจาก Linux mount table
ผลลัพธ์คือ mount table จะขยายตัวอย่างรวดเร็ว และไม่สามารถควบคุมได้ ส่งผลให้ทรัพยากร file descriptors (fd) ถูกใช้งานจนหมด ซึ่งนำไปสู่ปัญหาที่ Docker ไม่สามารถสร้าง container ใหม่ได้ นอกจากนี้ mount table ที่มีขนาดใหญ่อย่างมาก ยังส่งผลกระทบต่อประสิทธิภาพของระบบ และอาจทำให้ผู้ใช้ไม่สามารถเชื่อมต่อกับเครื่องโฮสต์ได้ เช่น ผ่าน SSH
เพื่อลดปัญหาดังกล่าว มีคำแนะนำให้ดำเนินมาตรการต่าง ๆ ได้แก่ การตรวจสอบ mount table ของ Linux อย่างสม่ำเสมอเพื่อหาการเพิ่มขึ้นที่ผิดปกติ, จำกัดการเข้าถึง Docker API เฉพาะบุคคลที่ได้รับอนุญาต, บังคับใช้นโยบายควบคุมการเข้าถึงที่เข้มงวด, ดำเนินการตรวจสอบการเชื่อมโยงระหว่างไฟล์ระบบของคอนเทนเนอร์กับโฮสต์, volume mounts และ socket connections
ที่มา : thehackernews