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).

Kilde: opennet.ru

Tilføj en kommentar