มีการเผยแพร่ข้อมูลเกี่ยวกับช่องโหว่ในระบบปฏิบัติการ Qubes ซึ่งใช้ไฮเปอร์ไวเซอร์สำหรับการแยกแอปพลิเคชันและส่วนประกอบของระบบปฏิบัติการอย่างเข้มงวด (แต่ละประเภทของแอปพลิเคชันและบริการระบบทำงานในเครื่องเสมือนที่แยกจากกัน) หากผู้โจมตีเจาะระบบเครื่องเสมือนเครื่องใดเครื่องหนึ่งได้ ช่องโหว่นี้จะทำให้สามารถหลีกเลี่ยงการแยกระบบ เรียกใช้คำสั่งใดๆ ก็ได้ในสภาพแวดล้อมโฮสต์ (Dom0) และควบคุมระบบปฏิบัติการทั้งหมดได้ ปัญหาดังกล่าวเกิดขึ้นเมื่อผู้ใช้ใช้ยูทิลิตี้ "qvm-copy-to-vm" เพื่อคัดลอกไฟล์จากสภาพแวดล้อมโฮสต์ไปยังเครื่องเสมือนที่ผู้โจมตีควบคุม ช่องโหว่นี้ได้รับการแก้ไขแล้วในแพ็คเกจ qubes-core-dom0-linux เวอร์ชัน 4.3.22
ปัญหาดังกล่าวเกิดขึ้นในยูทิลิตี้ qvm-copy-to-vm และเกิดจากการจัดการข้อผิดพลาดที่ไม่เหมาะสมซึ่งส่งคืนเมื่อเข้าถึงข้อมูล เครื่องเสมือนช่องโหว่นี้มีต้นตอมาจากข้อเท็จจริงที่ว่ายูทิลิตี้ qvm-copy-to-vm เรียกใช้โปรแกรม kdialog หรือ zenity เพื่อแสดงข้อมูลข้อผิดพลาด โดยใช้ฟังก์ชัน system() และแทนที่ข้อมูลเกี่ยวกับไฟล์ที่คัดลอกไม่สำเร็จด้วยตัวเลือกบรรทัดคำสั่งตัวใดตัวหนึ่ง การแก้ไขชื่อไฟล์จำกัดอยู่เพียงการลบอักขระที่ไม่ใช่ ASCII และเครื่องหมายคำพูดคู่ โดยไม่ได้ตรวจสอบอักขระพิเศษที่เชลล์ตีความ เช่น "`" และ "$"
หลังจากคัดลอกไฟล์จากระบบโฮสต์เสร็จสมบูรณ์ ตัวจัดการเครื่องเสมือนจะส่งการยืนยันการดำเนินการกลับมา ซึ่งรวมถึงชื่อไฟล์สุดท้ายที่ได้รับ การโจมตีประกอบด้วยการส่งรหัสข้อผิดพลาดแทนการยืนยัน และระบุชื่อไฟล์ที่มีอักขระพิเศษที่ตัวแปลคำสั่งประมวลผลสำหรับไฟล์ที่คัดลอกไม่สำเร็จ หลังจากได้รับข้อผิดพลาด ตัวจัดการโฮสต์จะใช้คำสั่ง system() เพื่อเปิดกล่องโต้ตอบที่มีข้อความแสดงข้อผิดพลาด โดยส่งชื่อไฟล์ที่ผู้โจมตีส่งกลับมาทางบรรทัดคำสั่ง (ตัวอย่างเช่น การระบุ "file`id`" จะเรียกใช้คำสั่ง id บนโฮสต์)
ที่มา: opennet.ru
