Kwetsbaarheid waarmee u uit de geïsoleerde QEMU-omgeving kunt ontsnappen

Onthuld kritieke kwetsbaarheidsdetails (CVE-2019-14378) in de standaard SLIRP-handler die in QEMU wordt gebruikt om een ​​communicatiekanaal tot stand te brengen tussen de virtuele netwerkadapter in het gastsysteem en de netwerkbackend aan de QEMU-zijde. Het probleem heeft ook gevolgen voor op KVM gebaseerde virtualisatiesystemen (in Gebruikersmodus) en Virtualbox, die de slirp-backend van QEMU gebruiken, evenals applicaties die de netwerkstack voor gebruikersruimte gebruiken libSLIRP (TCP/IP-emulator).

Door de kwetsbaarheid kan code worden uitgevoerd aan de kant van het hostsysteem met de rechten van een QEMU-handlerproces wanneer een speciaal ontworpen, zeer groot netwerkpakket wordt verzonden vanaf het gastsysteem, wat fragmentatie vereist. Als gevolg van een fout in de functie ip_reass(), die wordt aangeroepen bij het opnieuw samenstellen van inkomende pakketten, past het eerste fragment mogelijk niet in de toegewezen buffer en wordt de staart ervan naar geheugengebieden naast de buffer geschreven.

Om alvast te testen is beschikbaar een werkend prototype van de exploit, dat voorziet in het omzeilen van ASLR en het uitvoeren van code door het geheugen van de main_loop_tlg-array te overschrijven, inclusief een QEMUTimerList met handlers die door de timer worden aangeroepen.
De kwetsbaarheid is inmiddels opgelost Fedora и SUSE/openSUSE, maar blijft ongecorrigeerd Debian, Arch Linux и FreeBSD. In Ubuntu и RHEL Het probleem treedt niet op omdat slirp niet wordt gebruikt. Het beveiligingslek is nog steeds niet opgelost in de nieuwste release libslirp 4.0 (de oplossing is momenteel beschikbaar als lapje).

Bron: opennet.ru

Voeg een reactie