detalles de la vulnerabilidad crítica () en el manejador SLIRP, que se utiliza por defecto en QEMU para establecer un canal de comunicación entre el adaptador de red virtual en el sistema invitado y el backend de red en el lado de QEMU. El problema también afecta a los sistemas de virtualización basados en KVM (modo ) y Virtualbox, que utilizan el backend slirp de QEMU, así como a las aplicaciones que aplican la pila de red en el espacio de usuario (emulador TCP/IP).
La vulnerabilidad permite la ejecución de código en el lado del sistema host con los permisos del proceso manejador de QEMU al enviar desde el sistema invitado un paquete de red especialmente diseñado y muy grande, que requiere fragmentación. Debido a un error en la función ip_reass(), llamada durante la reensamblaje de paquetes entrantes, el primer fragmento puede no caber en el buffer asignado y su cola será escrita en las áreas de memoria siguientes al buffer.
Para probar ya Un prototipo funcional del exploit, que incluye la elusión de ASLR y la ejecución de código mediante la sobreescritura de la memoria del arreglo main_loop_tlg, que contiene la lista QEMUTimerList con manejadores que se llaman mediante un temporizador.
La vulnerabilidad ya ha sido corregida en y , pero sigue sin resolverse en , y . Hay y El problema no se manifiesta debido a la no utilización de slirp. La vulnerabilidad permanece sin corregir en la última versión de (la corrección está disponible actualmente como ).
Fuente: opennet.ru
