Existe un fallo de validación en las funciones ‘virtio_blk_handle_write’
y ‘virtio_blk_handle_read’ del driver virtio-blk de Quemu que podría ser
aprovechado por un atacante local en la máquina huésped (virtual) para
acceder a la maquina host (física) causando una denegación de servicio
y, posiblemente, ejecución de código.
Qemu es un emulador y virtualizador de código abierto. Es capaz de
emular distintas arquitecturas de procesadores, como ARM o PPC entre
otros. Soporta virtualización sobre con Xen y KVM. Un ejemplo de su uso,
es el emulador de Android incluido en el SDK.
Las funciones vulnerables no validan correctamente los datos de una
petición para que sean divisibles entre el tamaño de los bloques que van
a ser leídos o escritos. Esto causa un desbordamiento de memoria basado
en heap y podría ser aprovechado por un atacante para acceder, con los
privilegios heredados de la máquina virtual, a la máquina física donde
se virtualiza.
El problema fue encontrado por casualidad mientras se escribía un driver
virtio-blk para Solaris. El parche para este fallo ya ha sido publicado
y se está esperando la asignación de un CVE que identifique la
vulnerabilidad.
Más información:
Qemu-devel Mail List
http://lists.nongnu.org/
Red Hat confirmation
https://bugzilla.redhat.com/
Commit
http://git.kernel.org/?p=virt/
Via: Hispasec