Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
copyfail-check — Archivado, movido a codesource/cve-check. Script de shell para detectar la exposición y las mitigaciones de CVE-2026-31431 (Copy Fail) en sistemas Linux: comprobación del kernel, estado de los módulos, parámetros de arranque, accesibilidad de AF_ALG y estado de los parches de la distribución. | Kitploit
Herramientas/GitHubGitHub/codesource/copyfail-check
Escáneres de VulnerabilidadesAnálisis de VulnerabilidadesAuditoría de ConfiguraciónDevSecOpsRespuesta a Incidentes
GitHubcodesource/copyfail-check

copyfail-check

Ver Repositorio
246hace 5 díasAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →

Acerca de

Archivado, movido a codesource/cve-check. Script de shell para detectar la exposición y las mitigaciones de CVE-2026-31431 (Copy Fail) en sistemas Linux: comprobación del kernel, estado de los módulos, parámetros de arranque, accesibilidad de AF_ALG y estado de los parches de la distribución.

Compartir

copyfail-check

[!IMPORTANT] Este repositorio está archivado. La comprobación de Copy Fail ahora reside en cve-check, junto con otras comprobaciones de vulnerabilidades y un modo opcional --fix que aplica la remediación. Consulte checks/CVE-2026-31431 para esta comprobación.

curl -fsSL https://raw.githubusercontent.com/codesource/cve-check/main/cve-check.sh | sudo bash -s -- CVE-2026-31431

El script check_copyfail.sh que aparece a continuación sigue funcionando, pero ya no se actualiza.

Scripts de shell para detectar vulnerabilidades del kernel de Linux, comprobar el estado de las mitigaciones y guiar la remediación — diseñados para ejecutarse localmente o en flotas mediante SSH, Ansible o pssh.


CVE-2026-31431 — Copy Fail

Copy Fail es una vulnerabilidad de escalada de privilegios local (LPE) de alta gravedad en el módulo criptográfico algif_aead del kernel de Linux. Un fallo lógico introducido en 2017 permite a cualquier usuario local sin privilegios escribir 4 bytes controlados en la caché de páginas de cualquier archivo legible — suficiente para sobrescribir un binario setuid y obtener root. Existe una prueba de concepto funcional en Python de 732 bytes y está disponible públicamente.

CVECVE-2026-31431
CVSS7.8 (Alta)
Divulgada29 de abril de 2026
AfectadosKernels de Linux 4.13 – 6.x (2017–2026)
DistribucionesUbuntu, RHEL, SUSE, Debian, Amazon Linux y la mayoría de las demás
Explotable remotamenteNo — se requiere acceso local
Parche disponibleParcial — consulte los avisos de su distribución

Qué comprueba el script

Comprobación¿Requiere root?
Versión del kernel — si está en el rango afectado (≥ 4.13)No
Módulo algif_aead — cargado, presente en disco o en la lista negraNo
Parámetros de arranque — presencia de initcall_blacklist=algif_aead_initNo
Accesibilidad del socket AF_ALG — si la ruta de explotación está abiertaNo
Estado de SELinuxNo
Estado de AppArmorSí — solo salida parcial sin root
Estado del parche de la distribución — CVE listada en el changelog del kernelNo

No se requiere root para ejecutar el script — todas las comprobaciones excepto el estado de AppArmor funcionan como usuario normal. Se recomienda ejecutarlo con sudo para obtener resultados completos, y es la opción más segura cuando se canaliza desde curl.

Compatibilidad

El script está diseñado para funcionar en todas las principales distribuciones de Linux:

Familia de distribuciónComprobación del gestor de paquetesRuta de módulos
Debian, Ubuntudpkg + changelog del kernel/lib/modules/
RHEL, CentOS, Amazon Linuxrpm (kernel, kernel-rt)/lib/modules/
SUSE, openSUSErpm (kernel-default)/lib/modules/
Arch Linuxpacman + enlace al aviso/usr/lib/modules/
Fedorarpm + respaldo en /usr/lib/modules//usr/lib/modules/

Requiere bash — el script utiliza sintaxis específica de bash y no se ejecutará bajo sh, ash o dash. En Alpine Linux (que usa busybox ash por defecto), instale bash primero:

apk add bash

Ejecución rápida (servidor único)

Sin root — la mayoría de las comprobaciones funcionan:

curl -fsSL https://raw.githubusercontent.com/codesource/copyfail-check/main/check_copyfail.sh | bash

Con root — resultados completos incluyendo el estado de AppArmor:

curl -fsSL https://raw.githubusercontent.com/codesource/copyfail-check/main/check_copyfail.sh | sudo bash

Consejo: Fija un SHA de commit específico en producción para que el script no pueda cambiar bajo tus pies:

curl -fsSL https://raw.githubusercontent.com/codesource/copyfail-check/COMMIT_SHA/check_copyfail.sh | sudo bash

Descargar e inspeccionar primero (recomendado)

curl -fsSL https://raw.githubusercontent.com/codesource/copyfail-check/main/check_copyfail.sh -o check_copyfail.sh
less check_copyfail.sh
bash check_copyfail.sh        # without root
sudo bash check_copyfail.sh   # full results

Ejecutar en un conjunto de servidores

Bucle SSH

for HOST in server1 server2 server3; do
  echo "=== $HOST ==="
  ssh "$HOST" "curl -fsSL https://raw.githubusercontent.com/codesource/copyfail-check/main/check_copyfail.sh | sudo bash"
done

Ansible

- name: Check Copy Fail vulnerability
  hosts: all
  tasks:
    - name: Run check script
      script: check_copyfail.sh
      become: yes

SSH en paralelo

pssh -h hosts.txt -i \
  "curl -fsSL https://raw.githubusercontent.com/codesource/copyfail-check/main/check_copyfail.sh | sudo bash"

Ejemplo de salida

============================================================
  Copy Fail CVE-2026-31431 – Vulnerability Check
============================================================

>>> Kernel Version
  [INFO]  Running kernel: 5.15.0-107-generic
  [WARN]  Kernel 5.15.0-107-generic is in the affected range (4.13 – 6.x).

>>> algif_aead Module Status
  [WARN]  algif_aead module is currently LOADED — system is exploitable.
  [WARN]  Module file found at: /lib/modules/5.15.0-107-generic/kernel/crypto/algif_aead.ko
  [WARN]  algif_aead is NOT blacklisted — it can be loaded on demand.

>>> Kernel Boot Parameter Mitigation
  [WARN]  initcall_blacklist=algif_aead_init is NOT set in boot parameters.

>>> AF_ALG Socket Reachability
  [WARN]  AF_ALG sockets are reachable by this user — exploit path is open.

>>> Mandatory Access Control (SELinux / AppArmor)
  [WARN]  Neither SELinux nor AppArmor tools detected — no MAC layer present.

>>> Distribution Patch Status
  [WARN]  Could not confirm CVE-2026-31431 is listed as fixed in running kernel's changelog.

============================================================
  SUMMARY
============================================================
  !! LIKELY VULNERABLE — No confirmed mitigation detected.

  Recommended actions (in order of preference):
  1. Apply your distro's kernel update as soon as available.
  2. Add to /etc/modprobe.d/copyfail.conf:
       blacklist algif_aead
       install algif_aead /bin/true
     Then run: sudo depmod -a && sudo update-initramfs -u
  3. Add to kernel boot parameters (grub):
       initcall_blacklist=algif_aead_init
  4. Immediately unload the module if loaded:
       sudo rmmod algif_aead
============================================================

Mitigaciones

Aplícalas en este orden de preferencia:

1. Parchea tu kernel (mejor solución)

# Debian / Ubuntu
sudo apt update && sudo apt upgrade linux-image-$(uname -r)

# RHEL / CentOS / Amazon Linux
sudo yum update kernel

# SUSE
sudo zypper update kernel-default

2. Incluir el módulo en la lista negra (inmediato, persistente)

sudo tee /etc/modprobe.d/copyfail.conf << 'EOF'
blacklist algif_aead
install algif_aead /bin/true
EOF

sudo depmod -a

# Debian/Ubuntu
sudo update-initramfs -u

# RHEL/Fedora
sudo dracut -f

3. Descargue el módulo ahora (inmediato, no persistente entre reinicios)

sudo rmmod algif_aead

4. Parámetro de arranque del kernel (alternativa a la lista negra)

Añade initcall_blacklist=algif_aead_init a tu configuración de GRUB y reinicia.


Referencias

Descargar herramienta