dettagli della vulnerabilità critica () nel gestore SLIRP, comunemente utilizzato in QEMU per stabilire un canale di comunicazione tra il virtual network adapter nel sistema ospite e il backend di rete sul lato QEMU. Il problema colpisce anche i sistemi di virtualizzazione basati su KVM (in modalità ) e VirtualBox, in cui viene utilizzato il backend slirp di QEMU, così come le applicazioni che utilizzano lo stack di rete nello spazio utente (emulatore TCP/IP).
La vulnerabilità consente l'esecuzione di codice sulla macchina host con i diritti del processo gestore QEMU inviando dal sistema ospite un pacchetto di rete di grande dimensione debitamente formattato, per il quale è necessaria la frammentazione. A causa di un errore nella funzione ip_reass(), chiamata durante il riassemblaggio dei pacchetti in ingresso, il primo frammento potrebbe non adattarsi nel buffer allocato e la sua coda sarà scritta nelle seguenti aree di memoria oltre il buffer.
Per testare già un prototipo funzionante dell'exploit, nel quale è prevista una bypass di ASLR e l'esecuzione di codice tramite sovrascrittura della memoria dell'array main_loop_tlg, che include la lista QEMUTimerList con i gestori invocati tramite timer.
La vulnerabilità è già stata corretta in e , ma rimane non risolta in , e . In e il problema non si verifica a causa della non utilizzazione di slirp. La vulnerabilità rimane non corretta nell'ultima versione (la correzione è attualmente disponibile come ).
Fonte: opennet.ru
