Copy Fail: Vulnerabilidad de Escalada de Privilegios en Linux Permite a Usuarios sin Privilegios Obtener Acceso Root
Una vulnerabilidad de escalada de privilegios local (LPE) recién revelada en el kernel de Linux, apodada **Copy Fail** (CVE-2026-31431), podría permitir a usuarios locales sin privilegios obtener acceso root. La falla, presente desde 2017, se origina en un error lógico en el subsistema criptográfico del kernel.
Investigadores de ciberseguridad han revelado detalles de una falla de escalada de privilegios local (LPE) en Linux que podría permitir a un usuario local sin privilegios obtener acceso root.
La vulnerabilidad de alta severidad rastreada como **CVE-2026-31431** (puntaje CVSS: 7.8) ha sido denominada **Copy Fail** por **Xint.io** y **Theori**.
"Un usuario local sin privilegios puede escribir cuatro bytes controlados en la caché de páginas de cualquier archivo legible en un sistema Linux, y usar eso para obtener acceso root", dijo el equipo de investigación de vulnerabilidades de Xint.io y Theori [aquí](https://xint.io/blog/copy-fail-linux-distributions).
## Análisis de la Causa Raíz
En esencia, la vulnerabilidad se origina en 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 un [commit de código fuente](https://github.com/torvalds/linux/commit/72548b093ee3) realizado en agosto de 2017.
La explotación exitosa de la deficiencia podría permitir que un simple script de Python de 732 bytes edite un binario setuid y obtenga acceso root en esencialmente todas las distribuciones de Linux distribuidas desde 2017, incluyendo **Amazon Linux**, **RHEL**, **SUSE** y **Ubuntu**. El exploit de Python involucra cuatro pasos:
* Abrir un socket AF_ALG y vincularlo a authencesn(hmac(sha256),cbc(aes))
* Construir el payload shellcode
* Desencadenar la operación de escritura en la copia en caché del kernel de "/usr/bin/su"
* Llamar a execve("/usr/bin/su") para cargar el shellcode inyectado y ejecutarlo como root
Si bien la vulnerabilidad no es explotable de forma remota de forma aislada, un usuario local sin privilegios puede obtener acceso root simplemente corrompiendo la caché de páginas de un binario setuid. La misma primitiva también tiene impactos entre contenedores, ya que la caché de páginas se comparte entre todos los procesos en un sistema.

## Respuesta de los Proveedores
En respuesta a la divulgación, las distribuciones de Linux han publicado sus propios avisos:
* [AlmaLinux](https://almalinux.org/blog/2026-05-01-cve-2026-31431-copy-fail/)
* [Amazon Linux](https://explore.alas.aws.amazon.com/CVE-2026-31431.html)
* [Arch Linux](https://security.archlinux.org/CVE-2026-31431)
* [CloudLinux](https://blog.cloudlinux.com/cve-2026-31431-copy-fail-mitigation-and-patches)
* [Debian](https://security-tracker.debian.org/tracker/CVE-2026-31431)
* [Gentoo](https://bugs.gentoo.org/show_bug.cgi?id=CVE-2026-31431)
* [Red Hat Enterprise Linux](https://access.redhat.com/security/cve/cve-2026-31431)
* [SUSE](https://www.suse.com/security/cve/CVE-2026-31431.html)
* [Ubuntu](https://ubuntu.com/security/CVE-2026-31431)
## Vulnerabilidades Similares
Copy Fail tiene ecos en [Dirty Pipe](https://thehackernews.com/2022/03/researchers-warn-of-linux-kernel-dirty.html) (CVE-2022-0847), otra vulnerabilidad LPE del kernel de Linux que podría permitir a usuarios sin privilegios insertar datos en la caché de páginas de archivos de solo lectura y, en última instancia, sobrescribir archivos sensibles en el sistema para lograr la ejecución de código.
**David Brumley** de **Bugcrowd** [dijo](https://www.bugcrowd.com/blog/what-we-know-about-copy-fail-cve-2026-31431/): "Copy Fail es la misma clase de primitiva, en un subsistema diferente. 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 escribible del kernel para una operación AEAD enviada a través de un socket AF_ALG. Un proceso sin privilegios puede entonces usar splice() en ese socket y completar una escritura pequeña y dirigida en la caché de páginas de un archivo que no posee."
Lo que hace peligrosa la vulnerabilidad es que se puede activar de manera confiable y no requiere ninguna condición de carrera o desplazamiento 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, diminuta, sigilosa y entre contenedores", dijo un portavoz de Xint.io a The Hacker News en una declaración. "Permite que cualquier cuenta de usuario, sin importar cuán de bajo nivel sea, aumente sus privilegios a acceso de administrador completo. También les permite eludir el sandboxing y funciona en todas las versiones y distribuciones de Linux."