
Scripts de mitigación por distribución para CVE-2026-31431 ("Copy Fail") LPE del kernel de Linux.
Scripts de mitigación por distribución para CVE-2026-31431 ("Copy Fail") — una escalada de privilegios local del kernel Linux algif_aead que afecta prácticamente a todas las distribuciones publicadas desde 2017.
Cada script instala un kernel parcheado desde los repositorios de tu distribución (cuando está disponible) o, si no, bloquea el módulo vulnerable algif_aead del kernel para que la vía de explotación quede cerrada hasta que puedas reiniciar con un kernel corregido.
Elige el script para tu distribución, revísalo y ejecútalo como root.
# Ubuntu
sudo bash scripts/ubuntu.sh
# Debian
sudo bash scripts/debian.sh
# RHEL / Rocky / AlmaLinux / CentOS Stream
sudo bash scripts/rhel.sh
# Fedora
sudo bash scripts/fedora.sh
# Arch
sudo bash scripts/arch.sh
# openSUSE Leap / Tumbleweed
sudo bash scripts/opensuse.sh
# Alpine
sudo bash scripts/alpine.sh
# Cualquier otra (Gentoo, NixOS, distribuciones inmutables, ...)
sudo bash scripts/universal.sh
Usa --check primero si quieres una vista previa que no cambia nada.
Los scripts por distribución ejecutan este algoritmo; universal.sh omite los pasos 4–5.
sudo si aún no eres root.--force.uname -r.PATCHED_KERNEL_VERSION está registrado para tu distribución y tu kernel en ejecución es igual o superior, el script elimina cualquier archivo de mitigación sobrante y termina.--yes para omitirla) para instalarlo. Tras la instalación, reinicias manualmente./etc/modprobe.d/cve-2026-31431.conf con blacklist algif_aead e install algif_aead /bin/true, y luego verifica mediante una sonda de enlace de socket AF_ALG que la vía de explotación está cerrada.PATCHED_KERNEL_VERSION = PENDING significa que los mantenedores aún no han registrado una versión de kernel corregida para esa distribución. Cada fila se actualiza mediante un PR de una línea.
| Distribución | Paquete de kernel | Versión parcheada | Última comprobación |
|---|---|---|---|
| Ubuntu (24.04) | linux-image-generic | PENDING | 2026-05-01 |
| Debian | linux-image-amd64 | PENDING | 2026-05-01 |
| RHEL / Rocky / Alma | kernel | PENDING | 2026-05-01 |
| Fedora | kernel | PENDING | 2026-05-01 |
| Arch | linux | PENDING | 2026-05-01 |
| openSUSE | kernel-default | PENDING | 2026-05-01 |
| Alpine | linux-lts | PENDING | 2026-05-01 |
| Bandera | Significado |
|---|---|
-y, --yes | No interactivo; omite la solicitud de instalación del kernel. |
--force | Omite la comprobación de coincidencia de distribución. |
--check | Vista previa de solo lectura; muestra lo que ocurriría, sin cambiar nada. |
--undo | Elimina /etc/modprobe.d/cve-2026-31431.conf. Úsalo después de instalar un kernel parcheado. |
-h, --help | Información de uso. |
Los scripts ejecutan esta sonda automáticamente. Para comprobarlo tú mismo:
python3 - <<'PY'
import socket, errno
try:
s = socket.socket(socket.AF_ALG, socket.SOCK_SEQPACKET, 0)
s.bind(("aead", "authencesn(hmac(sha1),cbc(aes))"))
print("BAD: bind succeeded — host is NOT mitigated")
s.close()
except OSError as e:
print(f"OK: bind blocked, errno={e.errno} ({e.strerror})" if e.errno == errno.ENOENT
else f"INCONCLUSIVE: errno={e.errno}")
PY
Un host mitigado o parcheado muestra OK: bind blocked, errno=2 ....
Después de que tu distribución publique un kernel corregido y reinicies con él, elimina el bloqueo de modprobe para que las aplicaciones que usan legítimamente AF_ALG aead puedan funcionar de nuevo:
sudo bash scripts/<tu-distribucion>.sh --undo
Cuando tu distribución publique un kernel corregido:
scripts/<distro>.sh — establece PATCHED_KERNEL_VERSION a la versión del paquete corregido (en el formato que devuelve dpkg-query -W / rpm -q VERSION-RELEASE / pacman -Q).<distro>: fix shipped in <version>.Herramienta de mitigación de seguridad. Audita cualquier script que encuentres en internet antes de pasarlo a sudo bash. Los mantenedores no aceptan ninguna responsabilidad bajo la licencia MIT.
MIT.