Intel y AMD se esforzaron, pero una brecha lo echó todo a perder: cómo extraer datos de las máquinas virtuales más «inexpugnables»

Intel y AMD se esforzaron, pero una brecha lo echó todo a perder: cómo extraer datos de las máquinas virtuales más «inexpugnables»

Trail of Bits revela fallo que lleva a LUKS2 a creer que cifra, pero en realidad guarda los datos sin cifrar.

image

Especialistas de Trail of Bits revelaron una serie de vulnerabilidades que afectan a 8 sistemas de computación confidencial en los que se utiliza el formato de cifrado de discos LUKS2 (Linux Unified Key Setup versión 2). Errores en el manejo de los metadatos permiten a un atacante con acceso a los medios físicos obtener acceso completo a la información cifrada y modificar arbitrariamente el contenido del disco.

Los problemas están relacionados con que los encabezados de LUKS2 resultan "modificables": un atacante puede sustituir el algoritmo de cifrado de modo que la máquina virtual dentro del entorno protegido comience a usar un cifrado "nulo" y de hecho escriba datos en claro. Las vulnerabilidades han recibido los identificadores CVE-2025-59054 (puntuación CVSS: 8.5) y CVE-2025-58356 (puntuación CVSS: 8.3).

La debilidad se manifiesta en máquinas virtuales con aislamiento por hardware que usan tecnologías AMD SEV-SNP e Intel TDX. Estos mecanismos crean un entorno de ejecución de confianza donde la memoria y los procesos están protegidos incluso si el sistema anfitrión es comprometido. Sin embargo, durante el arranque de esas máquinas virtuales, el disco cifrado con LUKS2 puede ser sustituido y las protecciones integradas no notarán la alteración. Además, LUKS2 se diseñó originalmente para el escenario clásico de "cifrado de datos en reposo", no para su uso en entornos donde el almacenamiento puede estar controlado por un atacante.

Trail of Bits subraya que la sustitución de metadatos permite insertar en el encabezado el parámetro cipher_null-ecb —un modo que en la práctica desactiva el cifrado. Como resultado, los datos se escriben sin cifrar mientras el sistema sigue creyendo que están protegidos con AES-XTS. Además, si se aplica el algoritmo "nulo" al slot de clave, el disco se puede abrir con cualquier contraseña, lo que supone una compromisión total. Basta con modificar el encabezado y proporcionar el disco a una máquina virtual de confianza: ésta lo aceptará como legítimo y comenzará a usarlo sin errores.

Tras notificar a los desarrolladores de la utilidad cryptsetup, en la que se basa LUKS2, en la versión 2.8.1 apareció una corrección parcial: ahora se prohíbe el uso de cifrados null para proteger los slots de clave con contraseñas no vacías. Sin embargo, sigue siendo posible aplicarlos a los volúmenes principales, y eso es lo que abre la posibilidad de ataque si se tiene acceso al dispositivo de almacenamiento. El exploit en sí requiere la capacidad de escribir en el disco cifrado, pero no exige conocer las claves o contraseñas.

Trail of Bits notificó a 8 proyectos que usan LUKS2 en entornos de computación confidencial:

Oasis Protocol (oasis-sdk 0.7.2),
Phala Network (dstack 0.5.4),
Flashbots TDX (tdx-init 0.2.0),
Secret Network (secret-vm-ops),
Fortanix Salmiac,
Edgeless Constellation (v2.24.0),
Edgeless Contrast (v1.12.1, v1.13.0),
Cosmian VM.

Todos ellos publicaron actualizaciones que mitigan el riesgo de explotación. En concreto, Flashbots y Fortanix implementaron un mecanismo de verificación de integridad del encabezado basado en MAC, mientras que Constellation, Oasis y Cosmian añadieron validación de los metadatos JSON de LUKS antes del montaje. El equipo de Confidential Containers confirmó la recepción del informe, pero explicó que el componente correspondiente aún no se usa en producción.

Los investigadores señalan que, para proteger los sistemas, es necesario verificar completamente el encabezado de LUKS2 antes de empezar a trabajar con el disco. Esto se puede hacer usando el modo detached-header, cuando los metadatos se leen no desde el propio dispositivo, sino desde un almacenamiento temporal en memoria. Este enfoque evita los llamados ataques de time-of-check-to-time-of-use, en los que el atacante cambia el contenido del disco después de la verificación pero antes del uso efectivo.

Para un despliegue seguro, los desarrolladores de Trail of Bits proponen tres estrategias:

La primera —calcular un MAC sobre todo el encabezado para comprobar su inmutabilidad.
La segunda —validar estrictamente los parámetros de los metadatos JSON, excluyendo modos de cifrado no permitidos y flags inesperados.
La tercera —incluir el hash del encabezado en el proceso de atestación de hardware (TPM o KMS), lo que convierte la configuración de LUKS en parte de la identidad de la máquina virtual y permite a las partes remotas verificar la validez de los parámetros antes de entregar las claves de descifrado.

Como ejemplo de protección implementada, los investigadores citan el sistema tdx-init de Flashbots, que usa verificación por MAC, y Edgeless Constellation, que aplica una comprobación estricta de la estructura JSON de los encabezados.

El informe recuerda que errores similares se han producido antes —por ejemplo, CVE-2021-4122 permitía descifrar un disco de forma encubierta mediante el mecanismo de recuperación automática. Las vulnerabilidades actuales representan un riesgo similar para entornos virtuales donde la integridad del almacenamiento es crítica para la confidencialidad de la computación. Los autores subrayan que el problema no ha sido explotado en ataques reales, pero exige atención inmediata por parte de todos los desarrolladores que usan LUKS2 en infraestructuras de máquinas virtuales protegidas.

La investigación enfatiza una característica fundamental de la computación confidencial: en esas arquitecturas los modelos tradicionales de confianza se invierten —no se trata de proteger el anfitrión frente al sistema operativo invitado, sino al contrario, proteger la propia máquina virtual de un anfitrión potencialmente hostil. La mayoría de las herramientas clásicas de Linux, incluido LUKS, no se diseñaron originalmente para estos escenarios.

Trail of Bits advierte que el caso descrito forma solo parte de un problema mucho más amplio relacionado con la aplicación de utilidades estándar en condiciones inusuales de aislamiento por hardware. El equipo anima a los desarrolladores a adoptar patrones de uso seguros y a realizar revisiones exhaustivas del código antes de desplegar soluciones semejantes en la infraestructura de computación confidencial.

La compañía publicó la cronología completa de la divulgación coordinada. El error se descubrió el 8 de octubre de 2025; las notificaciones se enviaron a los proyectos afectados entre el 12 y el 18 de octubre, y el 19 de octubre se publicó el parche parcial cryptsetup 2.8.1. Para el 30 de octubre todos los proyectos principales habían lanzado actualizaciones. Trail of Bits agradeció a los equipos de Oasis, Flashbots, Edgeless, Fortanix, Cosmian, Secret Network y otras empresas por la colaboración y la coordinación, y señaló que Oasis Network abonó la recompensa por la vulnerabilidad a través de la plataforma Immunefi.

¿Estás cansado de que Internet sepa todo sobre ti?

¡Únete a nosotros y hazte invisible!