Sårbarhet som lar deg bryte ut av det isolerte QEMU-miljøet

Avslørt kritiske sårbarhetsdetaljer (CVE-2019-14378) i standard SLIRP-behandler som brukes i QEMU for å etablere en kommunikasjonskanal mellom den virtuelle nettverksadapteren i gjestesystemet og nettverksbackend på QEMU-siden. Problemet påvirker også KVM-baserte virtualiseringssystemer (in Brukermodus) og Virtualbox, som bruker slirp-backend fra QEMU, så vel som applikasjoner som bruker brukerplassnettverksstakken libSLIRP (TCP/IP-emulator).

Sårbarheten gjør det mulig å kjøre kode på vertssystemsiden med rettighetene til en QEMU-behandlingsprosess når en spesialdesignet veldig stor nettverkspakke sendes fra gjestesystemet, noe som krever fragmentering. På grunn av en feil i ip_reass()-funksjonen, kalt ved remontering av innkommende pakker, kan det hende at det første fragmentet ikke passer inn i den tildelte bufferen, og halen vil bli skrevet til minneområdene ved siden av bufferen.

For testing allerede tilgjengelig en fungerende prototype av utnyttelsen, som sørger for å omgå ASLR og utføre kode ved å overskrive minnet til main_loop_tlg-arrayet, inkludert en QEMUTimerList med behandlere kalt av timer.
Sårbarheten er allerede fikset Fedora и SUSE / openSUSE, men forblir ukorrigert i Debian, Arch Linux и FreeBSD. I Ubuntu и RHEL Problemet vises ikke på grunn av at du ikke bruker slirp. Sårbarheten forblir uløst i den siste utgivelsen libslirp 4.0 (reparasjonen er for øyeblikket tilgjengelig som lapp).

Kilde: opennet.ru

Legg til en kommentar