Thông tin đã được công bố về một lỗ hổng trong hệ điều hành Qubes, sử dụng hypervisor để cách ly nghiêm ngặt các ứng dụng và thành phần hệ điều hành (mỗi loại ứng dụng và dịch vụ hệ thống chạy trong các máy ảo riêng biệt). Nếu kẻ tấn công xâm nhập được vào một trong các máy ảo, lỗ hổng này cho phép vượt qua sự cách ly, thực thi các lệnh tùy ý trên môi trường máy chủ (Dom0) và giành quyền kiểm soát toàn bộ hệ điều hành. Vấn đề này xuất hiện khi người dùng sử dụng tiện ích "qvm-copy-to-vm" để sao chép một tệp từ môi trường máy chủ sang máy ảo do kẻ tấn công kiểm soát. Lỗ hổng này đã được khắc phục trong bản cập nhật gói qubes-core-dom0-linux phiên bản 4.3.22.
Vấn đề nằm ở tiện ích qvm-copy-to-vm và do việc xử lý lỗi không đúng cách khi truy cập. máy ảoLỗ hổng bảo mật bắt nguồn từ việc tiện ích qvm-copy-to-vm khởi chạy các chương trình kdialog hoặc zenity để hiển thị thông tin lỗi, sử dụng hàm system() và thay thế thông tin về tệp được sao chép không thành công làm một trong các tùy chọn dòng lệnh. Việc dọn dẹp tên tệp chỉ giới hạn ở việc loại bỏ các ký tự không phải ASCII và dấu ngoặc kép, mà không kiểm tra các ký tự đặc biệt được shell hiểu, chẳng hạn như "`" và "$."
Sau khi quá trình sao chép tập tin từ hệ thống máy chủ hoàn tất, trình xử lý máy ảo sẽ gửi lại xác nhận về thao tác, trong đó có tên của tập tin cuối cùng được nhận. Cuộc tấn công bao gồm việc trả về mã lỗi thay vì xác nhận và chỉ định tên tập tin có chứa các ký tự đặc biệt được xử lý bởi trình thông dịch lệnh cho tập tin không thể sao chép. Sau khi nhận được lỗi, trình xử lý máy chủ sử dụng lệnh system() để khởi chạy hộp thoại với văn bản lỗi, truyền tên tập tin do kẻ tấn công trả về trên dòng lệnh (ví dụ: chỉ định "file`id`" sẽ chạy lệnh id trên máy chủ).
Nguồn: opennet.ru
