Lỗ hổng cho phép bạn thoát ra khỏi môi trường biệt lập QEMU

Tiết lộ chi tiết về lỗ hổng nghiêm trọng (CVE-2019-14378) trong trình xử lý SLIRP mặc định được sử dụng trong QEMU để thiết lập kênh liên lạc giữa bộ điều hợp mạng ảo trong hệ thống khách và phần phụ trợ mạng ở phía QEMU. Vấn đề này cũng ảnh hưởng đến các hệ thống ảo hóa dựa trên KVM (trong Chế độ người dùng) và Virtualbox, sử dụng phần phụ trợ slirp từ QEMU, cũng như các ứng dụng sử dụng ngăn xếp mạng không gian người dùng libSLIRP (Trình giả lập TCP/IP).

Lỗ hổng cho phép mã được thực thi ở phía hệ thống máy chủ với quyền của quy trình xử lý QEMU khi gói mạng rất lớn được thiết kế đặc biệt được gửi từ hệ thống khách, yêu cầu phân mảnh. Do lỗi trong hàm ip_reass(), được gọi khi tập hợp lại các gói đến, đoạn đầu tiên có thể không vừa với bộ đệm được phân bổ và phần đuôi của nó sẽ được ghi vào vùng nhớ bên cạnh bộ đệm.

Để thử nghiệm rồi có sẵn một nguyên mẫu hoạt động của phương thức khai thác, cung cấp khả năng bỏ qua ASLR và thực thi mã bằng cách ghi đè bộ nhớ của mảng main_loop_tlg, bao gồm QEMUTimerList với các trình xử lý được gọi bằng bộ đếm thời gian.
Lỗ hổng đã được sửa trong Fedora и SUSE/openSUSE, nhưng vẫn không được sửa chữa trong Debian, Arch Linux и FreeBSD. Trong Ubuntu и RHEL Sự cố không xuất hiện do không sử dụng slirp. Lỗ hổng vẫn chưa được sửa trong bản phát hành mới nhất libslirp 4.0 (bản sửa lỗi hiện có sẵn dưới dạng ).

Nguồn: opennet.ru

Thêm một lời nhận xét