Neaizsargātība, kas ļauj izkļūt no QEMU izolētās vides

Atklāts kritiskās ievainojamības detaļas (CVE-2019-14378) noklusējuma SLIRP apdarinātājā, ko izmanto QEMU, lai izveidotu sakaru kanālu starp virtuālo tīkla adapteri viesu sistēmā un tīkla aizmugursistēmu QEMU pusē. Problēma skar arī uz KVM balstītas virtualizācijas sistēmas (in Lietotāja režīms) un Virtualbox, kas izmanto slirp aizmuguri no QEMU, kā arī lietojumprogrammas, kas izmanto lietotāja telpas tīkla steku. libSLIRP (TCP/IP emulators).

Ievainojamība ļauj izpildīt kodu resursdatora sistēmas pusē ar QEMU apstrādātāja procesa tiesībām, kad no viesu sistēmas tiek nosūtīta īpaši izveidota ļoti liela tīkla pakete, kas prasa sadrumstalotību. Kļūdas dēļ funkcijā ip_reass (), kas tiek izsaukta, atkārtoti apkopojot ienākošās paketes, pirmais fragments var neietilpst piešķirtajā buferī un tā aste tiks ierakstīta atmiņas apgabalos blakus buferim.

Jau testēšanai pieejams ekspluatācijas darba prototips, kas nodrošina ASLR apiešanu un koda izpildi, pārrakstot main_loop_tlg masīva atmiņu, ieskaitot QEMUTimerList ar taimera izsauktajiem apstrādātājiem.
Ievainojamība jau ir novērsta Fedora и SUSE/openSUSE, bet paliek neizlabots Debian, Arch Linux и FreeBSD. Uz Ubuntu и RHEL Problēma neparādās, jo neizmanto slirp. Jaunākajā laidienā ievainojamība joprojām nav novērsta libslirp 4.0 (labojums pašlaik ir pieejams kā plāksteris).

Avots: opennet.ru

Pievieno komentāru