Istraživači koji su nedavno otkrili ranjivost Fragnesia u Linux jezgru objavili su informacije o ranjivostima u QEMU koje omogućavaju dobivanje root pristupa hostoskom okruženju iz gostujućeg sistema. Problem je dobio kodno ime QEMUtiny, ali CVE identifikator za sada nije dodeljen. Pripremljen je eksploitat koji koristi dve ranjivosti u kodu za emulaciju uređaja CXL (Compute Express Link).
Obe ranjivosti prisutne su u kodu cxl-mailbox-utils.c. Prva ranjivost se manifestuje od izdanja QEMU 7.1.0 i dovodi do čitanja memorije izvan dodeljenog bafera zbog toga što funkcija cmd_logs_get_log() pogrešno tumači zatraženi pomak CEL loga kao indeks u nizu, dok je on definisan u bajtovima. Druga ranjivost se manifestuje od QEMU 11.0.0 i dovodi do prelivanja bafera u funkciji cmd_features_set_feature() usled obrade pomaka na strukture prilikom zapisivanja atributa bez provere da li proračunata vrednost „offset + bytes_to_copy“ staje u veličinu odabrane strukture.
Upravo, napad je moguć samo na najnoviju verziju QEMU 11.0.0. O ispravci još ništa nije objavljeno, rečeno je samo da je pre otkrivanja ranjivosti, informacija o njoj predana razvojnim timovima QEMU, koji su odgovorili da podrška za CXL uređaj u QEMU nije realizovana za korišćenje u virtuelizaciji.
Eksploitat je testiran sa kodnom bazom QEMU od 11. maja sa poslednjim komitovanjem 5e61afe. Rad eksploita zavisi od rasporeda struktura u memoriji svakog specifičnog izdanja QEMU i sistemske libc, ali po mišljenju istraživača, koristeći ranjivost koja dovodi do čitanja izvan bafera za skeniranje memorije, može se stvoriti univerzalni eksploitat koji radi sa različitim verzijama QEMU.
Izvor: opennet.ru
