Investigadores de ciberseguridad han revelado detalles de una falla de escalada de privilegios locales (LPE) de Linux que podría permitir que un usuario local sin privilegios obtenga root.
La vulnerabilidad de alta gravedad rastreada como CVE-2026-31431 (Puntuación CVSS: 7,8) ha recibido el nombre en código Copia fallida por Xint.io y Theori.
«Un usuario local sin privilegios puede escribir cuatro bytes controlados en la caché de la página de cualquier archivo legible en un sistema Linux y usarlos para obtener acceso a la raíz», dijo el equipo de investigación de vulnerabilidades de Xint.io y Theori.
En esencia, la vulnerabilidad surge de una falla lógica en el subsistema criptográfico del kernel de Linux, específicamente dentro del módulo algif_aead. El problema se introdujo en una confirmación del código fuente realizada en agosto de 2017.
La explotación exitosa de la deficiencia podría permitir que un simple script Python de 732 bytes edite un binario setuid y obtenga root en prácticamente todas las distribuciones de Linux enviadas desde 2017, incluidas Amazon Linux, RHEL, SUSE y Ubuntu. El exploit de Python implica cuatro pasos:
- Abra un socket AF_ALG y vincúlelo a authencesn(hmac(sha256),cbc(aes))
- Construir la carga útil del shellcode
- Activar la operación de escritura en la copia almacenada en caché del kernel de «/usr/bin/su»
- Llame a execve(«/usr/bin/su») para cargar el código shell inyectado y ejecutarlo como root
Si bien la vulnerabilidad no se puede explotar de forma remota de forma aislada, un usuario local sin privilegios puede obtener acceso a la raíz simplemente corrompiendo el caché de la página de un binario setuid. La misma primitiva también tiene impactos entre contenedores, ya que la caché de la página se comparte entre todos los procesos de un sistema.

En respuesta a la divulgación, las distribuciones de Linux han publicado sus propios avisos:
Copy Fail tiene sus ecos en Dirty Pipe (CVE-2022-0847), otra vulnerabilidad LPE del kernel de Linux que podría permitir a usuarios sin privilegios unir datos en la caché de páginas de archivos de solo lectura y, en última instancia, sobrescribir archivos confidenciales en el sistema para lograr la ejecución del código.
«Copy Fail es la misma clase de primitivo, en un subsistema diferente», dijo David Brumley de Bugcrowd. «La optimización in situ de 2017 en algif_aead permite que una página de caché de página termine en la lista de dispersión de destino grabable del kernel para una operación AEAD enviada a través de un socket AF_ALG. Un proceso sin privilegios puede entonces conducir splice() a ese socket y completar una escritura pequeña y específica en el caché de página de un archivo que no es de su propiedad».
Lo que hace que esta vulnerabilidad sea peligrosa es que puede activarse de manera confiable y no requiere ninguna condición de carrera ni compensación del kernel. Además de eso, el mismo exploit funciona en todas las distribuciones.
«Esta vulnerabilidad es única porque tiene cuatro propiedades que casi nunca aparecen juntas: es portátil, pequeña, sigilosa y multicontenedor», dijo un portavoz de Xint.io a The Hacker News en un comunicado. «Permite que cualquier cuenta de usuario, sin importar el nivel bajo, aumente su privilegio a acceso completo de administrador. También les permite evitar el sandboxing y funciona en todas las versiones y distribuciones de Linux».


