
Detecta la exposición a CVE-2026-31431 (Copy Fail) y, opcionalmente, mitiga deshabilitando el módulo del kernel algif_aead vulnerable, proporcionando veredictos y estado del parche.
Detecta la exposición a CVE-2026-31431 (Copy Fail) y, opcionalmente, aplica una mitigación a nivel de host deshabilitando el módulo del kernel algif_aead en sistemas vulnerables.
copyfail-check.sh — comprueba el estado del parche del kernel, la exposición del módulo en tiempo de ejecución y el estado de mitigación.--mitigate.NOT AFFECTED, PATCHED, NOT EXPLOITABLE, MITIGATED, MITIGATED (REBOOT PENDING) o AFFECTED.| Propiedad | Valor |
|---|---|
| ID de CVE | CVE-2026-31431 |
| Severidad | ALTA (CVSS 3.1: 7.8) |
| Componente | algif_aead — interfaz criptográfica AF_ALG AEAD del kernel |
| Tipo de ataque | Escalada de privilegios local; escape de contenedor (sin PoC público aún) |
| Kernels afectados | 4.14 y posteriores (ver más abajo) |
| Divulgado | 2026-04-29 |
Una optimización AEAD in-place de 2017 (commit 72548b093ee3, kernel 4.14) permite que un atacante local sin privilegios obtenga una primitiva de escritura controlada en la caché de páginas contra cualquier archivo legible, lo que permite la escalada de privilegios a root. En entornos de contenedores, la misma primitiva puede facilitar el escape del contenedor.
Los kernels anteriores a 4.14 NO están afectados. Esto incluye el kernel 3.13 de Ubuntu (Trusty 14.04 GA) y el kernel 4.4 (Xenial 16.04 GA, Trusty HWE) — ambos son anteriores al commit vulnerable.
| Rol | Commit |
|---|---|
| Vulnerabilidad introducida | 72548b093ee3 (kernel 4.14, 2017) |
| Corrección — mainline / kernel 7.0 | a664bf3d603d |
| Corrección — estable 6.18.x | fafe0fa2995a |
| Corrección — estable 6.19.x | ce42ee423e58 |
Las distribuciones aplican parches con sus propios identificadores de commit. El script busca el ID de CVE en los changelogs de los paquetes, lo cual es más fiable que los hashes upstream para kernels con parches backportados.
| Versión | kernel linux | mitigación kmod (versión corregida) |
|---|---|---|
| Trusty 14.04 | Solo kernels 4.15; 3.13 y 4.4 NO afectados | 15-0ubuntu7+esm1 |
| Xenial 16.04 | Solo kernels 4.15; 4.4 NO afectado | 22-1ubuntu5.2+esm1 |
| Bionic 18.04 | Afectado | 24-1ubuntu3.5+esm1 |
| Focal 20.04 | Afectado | 27-1ubuntu2.1+esm1 |
| Jammy 22.04 | Afectado | 29-1ubuntu1.1 |
| Noble 24.04 | Afectado | 31+20240202-2ubuntu7.2 |
| Questing 25.10 | Afectado | 34.2-2ubuntu1.1 |
| Resolute 26.04 | No afectado | No se necesita actualización |
El equipo de seguridad de Ubuntu distribuye una actualización del paquete kmod que escribe install algif_aead /bin/false en /etc/modprobe.d/disable-algif_aead.conf. Este script crea el mismo archivo con el mismo contenido y es totalmente compatible con ese enfoque. Aplicar la actualización oficial del paquete (sudo apt install --only-upgrade kmod) es la vía recomendada en Ubuntu; este script proporciona una cobertura equivalente para sistemas que no son Ubuntu o para triaje previo a la actualización.
chmod +x copyfail-check.sh
sudo ./copyfail-check.sh # solo detección
sudo ./copyfail-check.sh --mitigate # detección + aplicar mitigación si está afectado
Transmite el script directamente desde main y ejecútalo. La forma bash -s -- reenvía los argumentos después de -- al propio script, de modo que --mitigate llega al script y no a bash.
# Solo detección
curl -fsSL https://raw.githubusercontent.com/Webhosting4U/Copy-Fail_Detect_and_mitigate_CVE-2026-31431/main/copyfail-check.sh | sudo bash
# Detección + mitigación
curl -fsSL https://raw.githubusercontent.com/Webhosting4U/Copy-Fail_Detect_and_mitigate_CVE-2026-31431/main/copyfail-check.sh | sudo bash -s -- --mitigate
Equivalentes con wget:
wget -qO- https://raw.githubusercontent.com/Webhosting4U/Copy-Fail_Detect_and_mitigate_CVE-2026-31431/main/copyfail-check.sh | sudo bash
wget -qO- https://raw.githubusercontent.com/Webhosting4U/Copy-Fail_Detect_and_mitigate_CVE-2026-31431/main/copyfail-check.sh | sudo bash -s -- --mitigate
Nota de seguridad. Canalizar un script remoto directamente a un shell privilegiado confía en lo que la URL sirva en el momento de la ejecución. Para un triaje puntual es aceptable; para uso repetido o en producción, fija un commit específico e inspecciona el script primero:
curl -fsSL https://raw.githubusercontent.com/Webhosting4U/Copy-Fail_Detect_and_mitigate_CVE-2026-31431/<commit-sha>/copyfail-check.sh -o copyfail-check.sh less copyfail-check.sh sudo bash copyfail-check.sh --mitigate
NOT AFFECTED/sys/kernel/livepatch/, además de kpatch list y canonical-livepatch statusubuntu-security-status --cves, dnf updateinfo list cves, zypper patch-checkalgif_aead (modinfo) y estado de carga (lsmod)/etc/modprobe.d/ — acepta neutralizadores equivalentes (install … /bin/false|/bin/true|/sbin/nologin) y blacklist; identifica si el bloqueo proviene del paquete kmod de Ubuntu/proc/modules (columna 3); también marca una referencia al motor afalg de OpenSSL en /etc/ssl o /etc/pki/tls| Veredicto | Significado |
|---|---|
NOT AFFECTED | El kernel es anterior a 4.14, o está parcheado y el módulo no está disponible |
PATCHED | El changelog/herramientas del kernel confirman que la corrección está presente |
NOT EXPLOITABLE | El módulo no está disponible en este sistema |
MITIGATED | Módulo bloqueado mediante modprobe.d; el kernel sigue sin parchear — actualizar cuando sea posible |
MITIGATED (REBOOT PENDING) | Bloqueo escrito pero el módulo sigue cargado; descargar con rmmod o reiniciar |
AFFECTED | El kernel está en el rango vulnerable y algif_aead está disponible |
Cuando se usa --mitigate en un sistema afectado, el script:
/etc/modprobe.d/disable-algif_aead.conf con el contenido install algif_aead /bin/falsealgif_aead si está cargado actualmenteEl nombre de archivo /etc/modprobe.d/disable-algif_aead.conf coincide con el archivo escrito por la actualización oficial del paquete kmod de Ubuntu, por lo que ambos enfoques son intercambiables y compatibles.
algif_aead es seguro para las rutas criptográficas comunes: dm-crypt, LUKS, kTLS, IPsec, uso predeterminado de OpenSSL/GnuTLS, SSH y criptografía del keyring del kernel no se ven afectados.afalg de OpenSSL perderán la aceleración por hardware; deberían recurrir a la criptografía por software, pero puede ser necesario un reinicio para activar el mecanismo de respaldo.| Fecha | Evento |
|---|---|
| 2026-03-23 | Reportado al equipo de seguridad del kernel de Linux |
| 2026-04-01 | Corrección confirmada en mainline |
| 2026-04-29 | Divulgación pública |
sudo o shell de root)uname, modinfo, lsmod, awk, grepdpkg — escaneo del changelog Debian/Ubuntu y comprobación de la versión de kmodlsb_release — detección de la versión de Ubuntu para la pista de kmodrpm — escaneo del changelog RHEL/Fedorakpatch / canonical-livepatch y /sys/kernel/livepatch/ — detección de live-patchesubuntu-security-status, dnf updateinfo, zypper patch-check — herramientas CVE de la distribución.
├── copyfail-check.sh
└── README.md