kriitilise haavatavuse üksikasjad () SLIRP-i töötlejas, mis on vaikimisi kasutusel QEMU-s virtuaalse võrguadapteri ja QEMU-poolse võrgu taustapaneeli vahelise side loomiseks. Probleem mõjutab ka KVM-põhiseid virtualiseerimissüsteeme (režiimis ) ja Virtualboxi, kus kasutatakse QEMU slirp backend'i, samuti rakendusi, mis kasutavad kasutajaruumi võrgu steki (TCP/IP emulaator).
Haavatavus võimaldab töötleva protsessi QEMU õigustega koode täita host-süsteemis, kui virtuaalsest süsteemist saadetakse spetsiaalselt koostatud väga suur võrgu paket, mille puhul on vajalik fragmenteerimine. Probleemi põhjustab tõrge ip_reass() funktsioonis, mida kutsutakse sisse tulevate paketide uuesti kokku panemiseks, kusjuures esimene fragment ei pruugi mahtuda eraldatud pubufferisse ja selle saba kirjutatakse pärast pubufferit asuvatesse mällu.
Aktiivse eksploiti prototüübi testimiseks, milles on ette nähtud ASLR-i ületamine ja koodi täitmine püsiva mälu massiivi main_loop_tlg, sealhulgas QEMUTimerList'i nimekirja, mis sisaldab ajakaaluked raundid. haavatavus on juba kõrvaldatud
, kuid see jääb parandamata ja probleem ei ilmne slirp'i mittekasutamise tõttu. Haavatavus jääb parandamata viimases väljaandes , ja . Failis ja libslirp 4.0 Kriitilise haavatavuse üksikasjad on avalikustatud ( ).
Allikas: opennet.ru
