Copy Fail (CVE-2026-31431): El error de Linux de 9 años que le da acceso root a cualquier usuario local — sin condición de carrera
CVE-2026-31431, apodado Copy Fail, es una vulnerabilidad de escalada de privilegios local presente en todos los kernels de Linux desde 2017. Un script Python de 732 bytes alcanza root de forma determinista, afectando a Ubuntu, RHEL, Debian y prácticamente todas las distribuciones.
Todas las distribuciones principales de Linux están publicando parches de emergencia para CVE-2026-31431, una vulnerabilidad de escalada de privilegios locales apodada Copy Fail que lleva en el kernel desde 2017. Cualquier usuario local sin privilegios puede obtener acceso root con un script Python de 732 bytes — sin condición de carrera, sin permisos especiales, sin trucos de temporización.
En qué consiste el error
La vulnerabilidad está en algif_aead, un módulo del kernel que proporciona la interfaz AEAD (Authenticated Encryption with Associated Data) a las aplicaciones criptográficas en espacio de usuario. Un error lógico introducido en 2017 permite que un usuario sin privilegios escriba exactamente 4 bytes controlados en la caché de páginas de cualquier archivo legible del sistema.
La caché de páginas es la copia en memoria que el kernel mantiene de los archivos. Si el objetivo es un binario con privilegios — por ejemplo, /usr/bin/sudo — se puede modificar la versión en memoria sin tocar el archivo en disco. El archivo original queda intacto; el kernel ejecuta la copia manipulada. El resultado: root.
CVE: CVE-2026-31431
CVSS v3: 7.8 (Alto)
Componente: algif_aead del kernel Linux (subsistema criptográfico)
Kernels afectados: Todas las versiones desde 2017 hasta los lanzamientos parcheados
Requisitos del exploit: Ejecución de código local como usuario sin privilegios
Explotación remota: No directa — pero combinada con cualquier escape de contenedor o app web comprometida, ofrece una ruta directa a root
Por qué es más grave que Dirty Cow
Dirty Cow (2016) requería ganar una condición de carrera. Dirty Pipe (2022) era fiable pero de alcance limitado. Copy Fail es peor en ambos aspectos: el exploit es determinista — el mismo script Python funciona en Ubuntu 24.04 LTS, Amazon Linux 2023, RHEL 10.1, Debian, Fedora, Arch y cualquier otra distribución con kernel sin parchear.
Los investigadores de Wiz, quienes divulgaron el fallo, resumieron el alcance: “cualquier usuario local sin privilegios puede obtener root de forma fiable, y el mismo exploit funciona en prácticamente todas las distribuciones Linux modernas.”
La solución
Todas las distribuciones principales han publicado o están a punto de publicar parches:
- Ubuntu: Parches disponibles ahora —
sudo apt update && sudo apt upgrade - RHEL / CentOS / Rocky: Aviso RHSB-2026-02 — actualizar con
dnf update kernel - Debian / Fedora / Arch: Actualizaciones de seguridad en los canales estándar
- Amazon Linux 2023: Parche disponible en el flujo de actualización de AMI
- CloudLinux: Kernel parcheado disponible; live-patching vía KernelCare para despliegues sin reinicio
Si no puedes aplicar el parche de kernel de inmediato, la mitigación provisional consiste en poner en lista negra el módulo vulnerable:
echo "blacklist algif_aead" | sudo tee /etc/modprobe.d/algif_aead.conf
sudo modprobe -r algif_aead
Nota: la lista negra solo funciona si el módulo no está cargado actualmente. Verifica primero con lsmod | grep algif_aead.
Quién debe actuar
Si ejecutas Linux — en hardware físico, en máquinas virtuales o en contenedores con kernel compartido — estás afectado. Los entornos cloud donde varios inquilinos comparten un kernel (ciertos setups de Kubernetes gestionado, proveedores VPS con aislamiento basado en contenedores) tienen una exposición mayor: cualquier inquilino que logre ejecución local puede escalar al nivel del host.
Aplica la actualización del kernel. Reinicia. Luego verifica con uname -r que refleja la versión parcheada indicada en el aviso de tu distribución.
El PoC de Copy Fail será público antes de que acabe la semana. El tiempo entre la disponibilidad del kernel parcheado y un exploit público funcional es la ventana de la que dispones.