Uurijad, kes hiljuti avastasid Fragnesia haavatavuse Linuxi tuumas, avaldasid teavet QEMU-s esinevate haavatavuste kohta, mis võimaldavad külalis süsteemist saada root-õigused hostikeskkonda. Probleemile on antud koodinimi QEMUtiny, kuid CVE-identifikaator ei ole veel määratud. Valmistatud on eksploite, mis kasutab ära kahte haavatavust CXL (Compute Express Link) seadme emulatsiooni koodis.
Mõlemad haavatavused on olemas cxl-mailbox-utils.c koodis. Esimene haavatavus ilmneb alates QEMU väljaandmisest 7.1.0 ja põhjustab mälu lugemist määratud puutest väljapoole, kuna funktsioon cmd_logs_get_log() tõlgendab taotletud CEL-logi nihket valesti massiivi indeksina, kuigi see määratakse baitide kaupa. Teine haavatavus ilmneb alates QEMU versioonist 11.0.0 ja põhjustab puutäitumise cmd_features_set_feature() funktsioonis, kuna atribuutide kirjutamise ajal ei kontrollita, et arvutatud väärtus „offset + bytes_to_copy“ mahub valitud struktuuri suurusse.
Rünnaku teostamine on võimalik ainult QEMU 11.0.0 viimasel harul. Rikkumise parandamisest ei ole veel teateid, kuid märgitud on, et enne haavatavuse avalikustamist edastati teave QEMU arendajatele, kes vastasid, et CXL seadme tugi QEMU-s ei ole mõeldud virtualiseerimiseks.
Eksploit on testitud QEMU koodibaasi põhjal, mis on 11. mai seisuga viimasest commit'ist 5e61afe. Eksploidi tööpõhimõte põhineb QEMU iga konkreetse versiooni ja süsteemi libc mälu struktuuride paigutusel, kuid teadlaste arvates on võimalik luua universaalne eksploit, mis töötab erinevate QEMU versioonidega, kasutades mälu skaneerimise haavatavust, mis võimaldab lugeda andmeid mälust väljaspool puhvers.
Allikas: opennet.ru
