Un equipo de investigación ha documentado una vulnerabilidad crítica en Firecracker, el sistema operativo de microVMs, que permite a un atacante ejecutar código con privilegios de root en el host. El exploit, conocido como PwnEscape, explota una falla en la gestión de registros y la resurrección de la ejecución tras el sistema KVM_RUN. Al modificar el marco de registros guardado de un hilo activo, el atacante redirige la ejecución del host hacia código propio, manteniendo la VM accesible vía SSH.
El proceso de explotación requiere tres fases técnicas complejas. Primero, el atacante utiliza una página de memoria controlada por el invitado (guest) para localizar la dirección física en el host mediante las tablas de páginas extendidas (EPT). Esta fase identifica la página específica que contiene un patrón de bytes conocido (nonce) para validar la traducción de direcciones. Segundo, se localiza el proceso de Firecracker en el host. Esto se logra mapeando la dirección física encontrada hacia las tablas de páginas globales (PGD) del host, identificando así la imagen ELF del ejecutable y calculando el sesgo de carga (load bias) para encontrar el código específico necesario para el exploit. Finalmente, se localiza el marco de registros (pt_regs) del hilo vCPU activo. El atacante busca un estado de registro que coincida con la operación KVM_RUN en curso, verificando la identidad del sistema de llamadas, el descriptor de archivo y el puntero de instrucciones para confirmar que se trata del hilo correcto. Una vez identificado el marco, el atacante puede manipularlo para ejecutar su código en el host, demostrando una vulnerabilidad de seguridad severa que compromete la integridad del sistema anfitrión.
