Haavatavus, mis võimaldab teil QEMU isoleeritud keskkonnast välja murda

Ilmnes kriitilise haavatavuse üksikasjad (CVE-2019-14378) SLIRP vaikekäsitlejas, mida kasutatakse QEMU-s sidekanali loomiseks külalissüsteemi virtuaalse võrguadapteri ja QEMU poolel oleva võrgu taustaprogrammi vahel. Probleem mõjutab ka KVM-põhiseid virtualiseerimissüsteeme (in Kasutajarežiim) ja Virtualbox, mis kasutavad QEMU slirp-taustaprogrammi, samuti rakendused, mis kasutavad kasutajaruumi võrgupinu libSLIRP (TCP/IP emulaator).

Haavatavus võimaldab käivitada koodi hostisüsteemi poolel QEMU töötleja protsessi õigustega, kui külalissüsteemist saadetakse spetsiaalselt loodud väga suur võrgupakett, mis nõuab killustumist. Sissetulevate pakettide uuesti kokkupanemisel kutsutava funktsiooni ip_reass() vea tõttu ei pruugi esimene fragment eraldatud puhvrisse mahtuda ja selle saba kirjutatakse puhvri kõrval asuvatesse mälupiirkondadesse.

Juba testimiseks saadaval ärakasutamise töötav prototüüp, mis võimaldab ASLR-ist mööda minna ja koodi käivitada, kirjutades üle massiivi main_loop_tlg mälu, sealhulgas QEMUTimerList koos taimeri kutsutavate töötlejatega.
Haavatavus on juba parandatud Fedora и SUSE/openSUSE, kuid jääb sisse parandamata Debian, Arch Linux и FreeBSD. Sisse Ubuntu и RHEL Probleem ei ilmne slirp mittekasutamise tõttu. Viimases versioonis on haavatavus parandamata libslirp 4.0 (parandus on praegu saadaval kui plaaster).

Allikas: opennet.ru

Lisa kommentaar