Výskumníci, ktorí nedávno objavili zraniteľnosť Fragnesia v jadre Linux, zverejnili informácie o zraniteľnostiach v QEMU, ktoré umožňujú z hostiteľského prostredia získať root prístup z hosťovacej sústavy. Probléme bolo pridelené kódové meno QEMUtiny, avšak CVE identifikátor ešte nebol určený. Bol pripravený exploit, ktorý využíva dve zraniteľnosti v kóde emulátora zariadenia CXL (Compute Express Link).
Obe zraniteľnosti sú prítomné v kóde cxl-mailbox-utils.c. Prvá zraniteľnosť sa prejavuje od vydania QEMU 7.1.0 a vedie k čítaniu pamäte z oblasti mimo vyhradeného bufferu, pretože funkcia cmd_logs_get_log() mylne interpretuje požadované posunutie CEL-logu ako index v poli, pričom je nastavené v bajtoch. Druhá zraniteľnosť sa prejavuje od QEMU 11.0.0 a vedie k pretečeniu bufferu vo funkcii cmd_features_set_feature() kvôli spracovaniu posunutí na štruktúre pri zápise atribútov bez kontroly, či vypočítaná hodnota „offset + bytes_to_copy“ sa zmestí do veľkosti vybranej štruktúry.
V skutočnosti je útok možný iba na poslednú vetvu QEMU 11.0.0. O oprave zatiaľ neboli poskytnuté žiadne informácie, uvedené je iba, že pred zverejnením zraniteľnosti bola informácia o nej zaslaná vývojárom QEMU, ktorí odpovedali, že podpora zariadenia CXL v QEMU bola implementovaná nie na použitie počas virtualizácie.
Exploit bol testovaný s kódovou základňou QEMU z 11. mája s posledným commitem 5e61afe. Fungovanie exploit-u závisí od rozloženia štruktúr v pamäti každej konkrétnej zostavy QEMU a systémovej libc, ale podľa názoru výskumníkov, využitím zraniteľnosti na skenovanie pamäte, ktorá vedie k čítaniu z oblasti mimo bufferu, môže byť vytvorený univerzálny exploit, ktorý funguje s rôznymi verziami QEMU.
Zdroj: opennet.ru
