Vulnerabilità che consente di uscire dall'ambiente isolato QEMU

divulgato dettagli sulla vulnerabilità critica (CVE-2019-14378) nel gestore SLIRP predefinito utilizzato in QEMU per stabilire un canale di comunicazione tra l'adattatore di rete virtuale nel sistema ospite e il backend di rete sul lato QEMU. Il problema riguarda anche i sistemi di virtualizzazione basati su KVM (in usermode) e Virtualbox, che utilizzano il backend slirp di QEMU, nonché applicazioni che utilizzano lo stack di rete dello spazio utente libSLIRP (emulatore TCP/IP).

La vulnerabilità consente l'esecuzione del codice sul lato del sistema host con i diritti di un processo di gestione QEMU quando un pacchetto di rete molto grande appositamente progettato viene inviato dal sistema ospite, il che richiede la frammentazione. A causa di un errore nella funzione ip_reass(), richiamata durante il riassemblaggio dei pacchetti in arrivo, il primo frammento potrebbe non entrare nel buffer allocato e la sua coda verrà scritta nelle aree di memoria accanto al buffer.

Già da testare è disponibile un prototipo funzionante dell'exploit, che prevede di bypassare ASLR ed eseguire codice sovrascrivendo la memoria dell'array main_loop_tlg, incluso un QEMUTimerList con gestori chiamati dal timer.
La vulnerabilità è già stata risolta Fedora и SUSE / openSUSE, ma rimane non corretto Debian, Arch Linux и FreeBSD. In Ubuntu и RHEL Il problema non si presenta a causa del mancato utilizzo di sliprp. La vulnerabilità rimane non risolta nell'ultima versione libslirp 4.0 (la correzione è attualmente disponibile come toppa).

Fonte: opennet.ru

Aggiungi un commento