Sårbarhed, der giver dig mulighed for at bryde ud af det isolerede QEMU-miljø
Afsløret kritiske sårbarhedsdetaljer (CVE-2019-14378) i standard SLIRP-handleren, der bruges i QEMU til at etablere en kommunikationskanal mellem den virtuelle netværksadapter i gæstesystemet og netværksbackend på QEMU-siden. Problemet påvirker også KVM-baserede virtualiseringssystemer (i Brugertilstand) og Virtualbox, som bruger slirp-backend fra QEMU, samt applikationer, der bruger bruger-rum netværksstakken libSLIRP (TCP/IP-emulator).
Sårbarheden tillader, at kode kan eksekveres på værtssystemsiden med rettighederne til en QEMU-handlerproces, når en specialdesignet meget stor netværkspakke sendes fra gæstesystemet, hvilket kræver fragmentering. På grund af en fejl i ip_reass()-funktionen, kaldet ved gensamling af indgående pakker, passer det første fragment muligvis ikke ind i den allokerede buffer, og dets hale vil blive skrevet til hukommelsesområder ved siden af bufferen.
Til test allerede ledig en fungerende prototype af udnyttelsen, som sørger for at omgå ASLR og eksekvere kode ved at overskrive hukommelsen i main_loop_tlg-arrayet, inklusive en QEMUTimerList med handlere kaldet af timer.
Sårbarheden er allerede rettet Fedora и SUSE/openSUSE, men forbliver ukorrigeret i Debian, Arch Linux и FreeBSD. I Ubuntu и RHEL Problemet vises ikke på grund af ikke at bruge slirp. Sårbarheden forbliver uløst i den seneste udgivelse libslirp 4.0 (rettelsen er i øjeblikket tilgængelig som lappe).