Se ha identificado una vulnerabilidad crítica en el núcleo de Linux denominada PwnEscape (CVE-2026-99999), que podría permitir a un atacante controlar una máquina virtual y acceder al sistema anfitrión. El investigador Paulos Yibelo demostró cómo esta debilidad puede romper el aislamiento entre la máquina virtual y el host, afectando así las cargas de trabajo en entornos como los proveedores de nube.
Vulnerabilidad del núcleo
La vulnerabilidad se relaciona con un error en la ruta de procesamiento de paquetes de red. El kernel utiliza metadatos para indicar dónde debe comenzar y escribirse el resultado de una operación de checksum. Sin embargo, cuando los metadatos menos confiables influyen en una escritura posterior en la cabecera IPv4, puede ocurrir un error.
En el caso de prueba, el paquete inicialmente tenía una cabecera IPv4 estándar de 20 bytes. Tras la operación de checksum diferida, la cabecera podría interpretarse como de 60 bytes. Esto permitió al código de fragmentación tratar los bytes más allá de los datos válidos del paquete como parte de la cabecera e incluirlos en un paquete saliente.
El informe indica que esto exponía 32 bytes de la memoria del anfitrión. Aunque no se logró la ejecución directa de código, los investigadores demostraron cómo podría usarse esta exposición para realizar escrituras seleccionadas en la memoria del kernel y ejecutar un ayudante de root.
Versión afectada y parche
Las versiones afectadas incluyen:
- 5.10: 5.10 hasta 5.10.271
- 5.15: 5.15 hasta 5.15.222
- 6.1: 6.1 hasta 6.1.189
- 6.6: 6.6 hasta 6.6.158
- 6.12: 6.12 hasta 6.12.112
- 6.18: 6.18 hasta 6.18.56
- 7.2: 7.2 hasta 7.2.10
- Desarrollo 7.3: Candidatos antes de 7.3-rc7
El parche upstream añade una comprobación antes de ciertas operaciones de finalización de checksum, verificando que el inicio del checksum no esté dentro de la cabecera IPv4. Si los metadatos fallan en esta comprobación, el kernel no procede con la escritura de checksum.
Descubrimiento y contexto
El descubrimiento surgió del desafío de seguridad Sandbox de 1 millón de dólares de Vercel. Paulos Yibelo informó del fallo al tercer día mientras trabajaba desde un sandbox estándar sin acceso especial. Vercel lo calificó como el hallazgo más importante del programa.
El desafío recibió 1.285 informes durante dos semanas y pagó un total de 242.000 dólares en recompensas, siendo el fallo del kernel el único calificado como crítico.
Conclusión
Los defensores deben seguir las actualizaciones del proveedor y parchear los hosts de Linux que ejecutan máquinas virtuales. La corrección es importante no solo para los proveedores de virtualización, sino también para los equipos que dependen del procesamiento de red de Linux para mantener contenidas las cargas de trabajo no confiables.