Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
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.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
cve-2026-31431-copy-fail — Escáner automatizado y asistente de parcheo para CVE-2026-31431, que detecta hosts Linux vulnerables a través de SSH, verifica versiones del kernel y aplica actualizaciones del kernel o mitigaciones temporales en múltiples distribuciones. | Kitploit
Herramientas/GitHubGitHub/gagaltotal/cve-2026-31431-copy-fail
Escáneres de VulnerabilidadesAuditoría de ConfiguraciónSeguridad de Redes
GitHubgagaltotal/cve-2026-31431-copy-fail

cve-2026-31431-copy-fail

Escáner automatizado y asistente de parcheo para CVE-2026-31431, que detecta hosts Linux vulnerables a través de SSH, verifica versiones del kernel y aplica actualizaciones del kernel o mitigaciones temporales en múltiples distribuciones.

Ver Repositorio
2hace 3 mesesAú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 →
Compartir

CVE-2026-31431 "Copy Fail" Escáner y Asistente de Parche

CVE-2026-31431 CVSS Python License

Copy Fail es un escáner de seguridad automático y asistente de parche para detectar y corregir la vulnerabilidad CVE-2026-31431 (Escalada de Privilegios Local en el Kernel de Linux algif_aead) en su infraestructura Linux.


Tabla de Contenidos

  • Descripción
  • Características Principales
  • Requisitos
  • Instalación
  • Cómo Usar
  • Opciones de Comando
  • Ejemplos de Uso
  • Salida y Resultados
  • Distribuciones Compatibles
  • Guía de Parche Manual
  • Mitigación Temporal
  • Solución de Problemas
  • Referencias de Seguridad

  • Descripción

    CVE-2026-31431 es una vulnerabilidad de Escalada de Privilegios Local (LPE) en el módulo del kernel de Linux algif_aead (Interfaz de Cifrado Asíncrono para AEAD). Esta vulnerabilidad permite a un usuario local alcanzar una escalada de privilegios a nivel de root.

    Esta herramienta ayuda a:

    • Escaneo automático de subredes Linux para detectar hosts vulnerables
    • Verificar el estado del parche de cada host según la versión del kernel
    • Parcheo automático mediante la actualización del kernel a través del gestor de paquetes
    • Mitigación temporal desactivando el módulo algif_aead
    • Informes estructurados en formato de tabla y JSON

    Nota: Esta herramienta es solo para fines de auditoría y parcheo interno por parte de administradores de sistemas. Úsela únicamente en sistemas que posea o para los que tenga autorización.


    Ejemplo de Pantalla

    Screen Capture

    Características Principales

    1. Escaneo Medible

    • Escaneo de un solo host, múltiples hosts o una subred completa
    • Conexiones SSH paralelas con grupo de hilos (predeterminado: 30 hilos)
    • Barra de progreso en tiempo real con interfaz Rich
    • Reintentos automáticos con retroceso exponencial para conexiones inestables

    2. Detección de Vulnerabilidades

    • Verificación de accesibilidad SSH y autenticación
    • Lectura de la versión del kernel de cada host
    • Verificación de si el kernel ya está parcheado (según la base de datos por distribución)
    • Detección del estado del módulo algif_aead (cargado/no cargado)
    • Verificación de si la mitigación modprobe.d ya se ha aplicado

    3. Parcheo Automático

    Actualización automática del kernel en hosts vulnerables a través del gestor de paquetes:

    • apt (Debian/Ubuntu)
    • dnf (Fedora/RHEL 8+)
    • yum (RHEL 7, CentOS 7)
    • zypper (SUSE/openSUSE)
    • pacman (Arch Linux)

    Opción: Reinicio automático después del parcheo

    4. Mitigación Temporal

    • Desactivación del módulo algif_aead mediante la configuración modprobe.d
    • Adecuado como solución temporal mientras se espera la ventana de mantenimiento para reiniciar
    • Nota: No es efectivo en la familia RHEL si el módulo está integrado en el kernel

    5. Autenticación SSH Flexible

    • Autenticación basada en clave SSH (recomendada)
    • Autenticación basada en contraseña
    • Soporte de puerto SSH personalizado
    • Agrupación de conexiones para optimizar recursos

    6. Base de Datos de Seguridad Completa

    Base de datos de versiones de kernel ya parcheadas para:

    • Ubuntu (6.8.0-60, 5.15.0-130, 5.4.0-216)
    • RHEL / CentOS / AlmaLinux / Rocky (5.14.0-570)
    • Fedora (6.14.4, 6.13.12, 6.12.25)
    • Debian (6.1.137, 5.10.235)
    • Arch Linux (6.14.4)
    • Amazon Linux (6.1.134, 5.10.235, 4.14.353)
    • SUSE / openSUSE (6.4.0-18, 5.14.21-150600.24)

    7. Informes Exhaustivos

    • Tabla de resultados del escaneo con colores (formato Rich)
    • Estadísticas resumidas (total de hosts, vulnerables, parcheados, etc.)
    • Exportación de resultados a JSON para integración con otros sistemas
    • Seguimiento de errores y recuento de reintentos por host

    Requisitos

    Requisitos del Sistema

    • Python: 3.7 o superior
    • SO: Linux/Mac/Windows (con WSL)
    • Red: Acceso SSH a los hosts objetivo
    • Clave SSH o Contraseña: Para autenticación

    Dependencias de Python

    root@kitploit:~
    paramiko>=3.0.0    # Biblioteca SSH
    rich>=13.0.0       # Interfaz de terminal atractiva
    

    Instalación

    1. Clonar el Repositorio

    root@kitploit:~
    git clone https://github.com/gagaltotal/cve-2026-31431-copy-fail.git
    cd cve-2026-31431-copy-fail
    

    2. Instalar VENV Virtual

    root@kitploit:~
    python3 -m venv .venv
    source .venv/bin/activate
    

    3. Instalar Dependencias

    root@kitploit:~
    pip install -r requirements.txt
    

    o instalar manualmente:

    root@kitploit:~
    pip install paramiko>=3.0.0 rich>=13.0.0
    

    4. Verificar la Instalación

    root@kitploit:~
    python3 copyfail_scanner.py --help
    

    Cómo Usar

    Sintaxis Básica

    root@kitploit:~
    # Escanear subred con clave SSH
    python3 copyfail_scanner.py --subnet <CIDR> --user <USERNAME> --key <PATH_TO_KEY>
    
    # Escanear varios hosts específicos
    python3 copyfail_scanner.py --hosts <IP1>,<IP2>,<IP3> --user <USERNAME> [--password <PASSWORD>]
    
    # Escanear + parcheo automático
    python3 copyfail_scanner.py --subnet <CIDR> --user <USERNAME> --key <PATH> --patch
    
    # Escanear + mitigación temporal
    python3 copyfail_scanner.py --subnet <CIDR> --user <USERNAME> --key <PATH> --mitigate
    

    Opciones de Comando

    OpciónDescripciónEjemplo
    --subnetSubred CIDR objetivo (mutuamente excluyente con --hosts)--subnet 192.168.1.0/24
    --hostsLista de IPs separadas por comas (mutuamente excluyente con --subnet)--hosts 192.168.1.10,192.168.1.20
    --userNombre de usuario SSH (obligatorio)--user root
    --passwordContraseña SSH (opcional, usar si no hay clave)--password secret123
    --keyRuta de la clave privada SSH--key ~/.ssh/id_rsa
    --portPuerto SSH (predeterminado: 22)--port 2222
    --threadsNúmero de hilos paralelos (predeterminado: 30)--threads 50
    --patchActualización automática del kernel en hosts vulnerables--patch
    --rebootReinicio automático después del parcheo (usar con --patch)--patch --reboot
    --mitigateAplicar mitigación temporal (desactivar algif_aead)--mitigate
    --outputExportar resultados del escaneo a un archivo JSON--output resultados.json
    --yesOmitir la solicitud de confirmación antes de parchear/mitigar--yes

    Ejemplos de Uso

    Ejemplo 1: Escaneo Básico de Subred (Solo Lectura)

    root@kitploit:~
    python3 copyfail_scanner.py \
      --subnet 192.168.1.0/24 \
      --user ubuntu \
      --key ~/.ssh/id_rsa
    

    Salida: Muestra la tabla de resultados del escaneo y el resumen


    Ejemplo 2: Escaneo de Hosts Específicos con Contraseña

    root@kitploit:~
    python3 copyfail_scanner.py \
      --hosts 10.0.1.5,10.0.1.6,10.0.1.7 \
      --user admin \
      --password my_password123
    

    Ejemplo 3: Escaneo + Mitigación Temporal

    root@kitploit:~
    python3 copyfail_scanner.py \
      --subnet 172.16.0.0/16 \
      --user root \
      --key ~/.ssh/id_rsa \
      --mitigate
    

    Acción: Escanea todos los hosts y luego desactiva el módulo algif_aead en los hosts vulnerables (solicita confirmación)


    Ejemplo 4: Escaneo + Parcheo Automático (Sin Reinicio)

    root@kitploit:~
    python3 copyfail_scanner.py \
      --subnet 192.168.0.0/24 \
      --user ubuntu \
      --key ~/.ssh/id_rsa \
      --patch
    

    Acción: Actualiza el kernel, pero no reinicia automáticamente (requiere reinicio manual)


    Ejemplo 5: Escaneo + Parcheo + Reinicio Automático

    root@kitploit:~
    python3 copyfail_scanner.py \
      --subnet 10.10.0.0/24 \
      --user root \
      --key ~/.ssh/id_rsa \
      --patch \
      --reboot \
      --yes
    

    Acción: Escanea, parchea el kernel, reinicia automáticamente y omite la confirmación


    Ejemplo 6: Escaneo + Exportación de Resultados JSON

    root@kitploit:~
    python3 copyfail_scanner.py \
      --subnet 192.168.1.0/24 \
      --user sysadmin \
      --key ~/.ssh/id_rsa \
      --output scan_results_$(date +%Y%m%d_%H%M%S).json
    

    Salida: Tabla en la terminal + resultados JSON en el archivo


    Ejemplo 7: Escaneo con Múltiples Hilos y Puerto Personalizado

    root@kitploit:~
    python3 copyfail_scanner.py \
      --subnet 10.0.0.0/25 \
      --user ubuntu \
      --key ~/.ssh/id_rsa \
      --port 2222 \
      --threads 50
    

    Salida y Resultados

    Salida en Terminal (Tabla)

    Ejemplo de salida del escaneo:

    root@kitploit:~
    ┏━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━┓
    ┃ IP            ┃ Hostname       ┃ Distro        ┃ Kernel        ┃ algif   ┃ Status  ┃ Action  ┃ Notes   ┃
    ┣━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━╋━━━━━━━━━╋━━━━━━━━━╋━━━━━━━━━┫
    ┃ 192.168.1.10  ┃ web-01         ┃ Ubuntu 22.04  ┃ 6.8.0-60      ┃ LOADED  ┃ ✓ SEGURO ┃ -       ┃ Parcheado ┃
    ┃ 192.168.1.11  ┃ web-02         ┃ Ubuntu 20.04  ┃ 5.4.0-200     ┃ NOT_LDD ┃ ✗ VULNER ┃ Parcheado ┃ -       ┃
    ┃ 192.168.1.12  ┃ db-01          ┃ RHEL 8.9      ┃ 5.14.0-560    ┃ LOADED  ┃ ? DESCON ┃ -       ┃ Distro  ┃
    ┗━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━┻━━━━━━━━━┻━━━━━━━━━┻━━━━━━━━━┛
    
    Resumen:
      Total de hosts escaneados: 12
      Accesibles (SSH): 11
      Sin conexión: 1
      VULNERABLES: 2
      Ya parcheados: 8
      Estado desconocido: 1
    

    Columnas de Salida

    • IP: Dirección IP del objetivo
    • Hostname: Nombre de host obtenido con hostname -f
    • Distro: Distribución de Linux (de /etc/os-release)
    • Kernel: Versión del kernel (de uname -r)
    • algif_aead: Estado del módulo (cargado/no cargado/bloqueado)
    • Status: ✓ SEGURO / ✗ VULNERABLE / ? DESCONOCIDO
    • Patch/Mitigación: Acción aplicada (Actualización del kernel/Mitigación)
    • Notas: Error o información adicional

    Formato de Exportación JSON

    root@kitploit:~
    {
      "cve": "CVE-2026-31431",
      "scan_time": "2026-05-08T15:30:45.123456",
      "results": [
        {
          "ip": "192.168.1.10",
          "ssh_reachable": true,
          "auth_ok": true,
          "hostname": "web-01",
          "distro": "Ubuntu 22.04 LTS",
          "os_id": "ubuntu",
          "kernel_version": "6.8.0-60-generic",
          "algif_loaded": true,
          "modprobe_blocked": false,
          "patched": true,
          "patch_applied": false,
          "mitigation_applied": false,
          "retry_count": 0,
          "error": ""
        }
      ]
    }
    

    Distribuciones Compatibles

    El escáner admite la detección automática de las siguientes distribuciones:

    DistribuciónGestor de PaquetesVersiones de Kernel ParcheadasNotas
    Ubuntuapt6.8.0-60, 5.15.0-130, 5.4.0-216LTS y actual
    Debianapt6.1.137, 5.10.235Versiones estables
    RHELdnf/yum5.14.0-570Incluye CentOS Stream
    AlmaLinuxdnf5.14.0-570Reemplazo directo de RHEL
    Rockydnf5.14.0-570Enfocado a empresas
    Fedoradnf6.14.4, 6.13.12, 6.12.25Vanguardia
    Amazon Linuxdnf6.1.134, 5.10.235, 4.14.353Compatibilidad AWS
    SUSE / openSUSEzypper6.4.0-18, 5.14.21-150600.24Empresarial y comunitaria
    Arch Linuxpacman6.14.4Última versión

    Para distribuciones no detectadas: Verifique la versión del kernel manualmente. Los kernels >= 6.14.4 generalmente son seguros.


    Guía de Parche Manual

    Si prefiere el parcheo manual o el parcheo automático falla, siga la guía por distribución:

    Ubuntu / Debian

    root@kitploit:~
    sudo apt update
    sudo apt upgrade linux-image-generic kmod
    sudo reboot
    

    RHEL 8+ / CentOS Stream / AlmaLinux / Rocky

    root@kitploit:~
    sudo dnf clean metadata
    sudo dnf upgrade kernel
    sudo reboot
    

    Fedora

    root@kitploit:~
    sudo dnf upgrade kernel
    sudo reboot
    

    Amazon Linux 2023 / 2

    root@kitploit:~
    sudo dnf upgrade kernel
    sudo reboot
    

    SUSE / openSUSE

    root@kitploit:~
    sudo zypper update kernel-default
    sudo reboot
    

    Arch Linux

    root@kitploit:~
    sudo pacman -Syu linux linux-headers
    sudo reboot
    

    Mitigación Temporal

    Si no puede reiniciar de inmediato para la actualización del kernel, aplique la mitigación:

    root@kitploit:~
    # Desactivar el módulo algif_aead mediante modprobe.d
    echo 'install algif_aead /bin/false' | sudo tee /etc/modprobe.d/disable-algif_aead.conf
    
    # Descargar el módulo si ya está cargado
    sudo rmmod algif_aead 2>/dev/null || echo "Module not loaded"
    

    IMPORTANTE:

    • La mitigación es solo una solución temporal
    • No confíe en esto como una solución a largo plazo
    • Programe la actualización del kernel lo antes posible
    • En la familia RHEL con CONFIG_CRYPTO_USER_API_AEAD=y, el módulo está integrado en el kernel, por lo que modprobe.d no es efectivo → la actualización del kernel es la única solución

    Solución de Problemas

    1. Tiempo de Espera de Conexión Agotado

    root@kitploit:~
    Error: Puerto SSH no abierto
    

    Solución:

    • Verifique si el puerto SSH está abierto: nc -zv <IP> 22
    • Verifique las reglas del firewall
    • Use --port si SSH se ejecuta en un puerto personalizado

    2. Error de Autenticación

    root@kitploit:~
    Error: Autenticación SSH fallida
    

    Solución:

    • Verifique los permisos de la clave SSH: chmod 600 ~/.ssh/id_rsa
    • Pruebe la conexión manualmente: ssh -i ~/.ssh/id_rsa user@host
    • Use --password si prefiere la autenticación por contraseña
    • Verifique si el usuario está configurado en el host remoto

    3. Permiso Denegado durante el Parcheo

    root@kitploit:~
    Exit code 1: dpkg: error processing...
    

    Solución:

    • Asegúrese de que el usuario tenga acceso sudo (preferiblemente sudo sin contraseña)
    • Verifique el archivo sudoers: sudo visudo
    • Para la automatización completa del parcheo, el usuario debe poder ejecutar apt/dnf/yum sin solicitud de contraseña

    4. Reintentos Repetidos

    root@kitploit:~
    Retry: 3x | Host temporary unavailable
    

    Solución:

    • Inestabilidad de red, espere unos momentos
    • Reduzca el número de hilos: --threads 10
    • Verifique el estado del host y del demonio SSH

    5. "Distribución no reconocida"

    root@kitploit:~
    Status: ? DESCONOCIDO
    

    Solución:

    • Los kernels >= 6.14.4 se consideran seguros
    • Verificación manual: uname -r y compare con el aviso
    • Agregue a PATCHED_KERNEL_MAP si es necesario

    6. Parcheo Fallido

    root@kitploit:~
    Exit code 1: Failed to lock apt database
    

    Solución:

    • El host está ejecutando otro gestor de paquetes
    • Espere o ejecute el parcheo manualmente en horario adecuado
    • Verifique los registros: sudo tail -f /var/log/apt/term.log

    Referencias de Seguridad

    Información Oficial de CVE

    • NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-31431
    • copy.fail: https://copy.fail (aviso oficial)

    Avisos de Seguridad de Proveedores

    • Ubuntu: https://ubuntu.com/security/CVE-2026-31431
    • Red Hat: https://access.redhat.com/security/cve/cve-2026-31431
    • AlmaLinux: https://almalinux.org/blog/2026-05-01-cve-2026-31431-copy-fail/
    • Debian: https://security-tracker.debian.org/tracker/CVE-2026-31431

    Detalles Técnicos

    • Puntuación CVSS: 7.8 ALTA
    • Vector de Ataque: Local
    • Privilegios Requeridos: Bajos
    • Interacción del Usuario: Ninguna
    • Impacto: Compromiso completo del sistema (confidencialidad, integridad, disponibilidad)

    Referencias de Parche del Kernel

    • Git del Kernel de Linux: https://github.com/torvalds/linux/commit/... (hash de parche específico)
    • Discusión LKML: https://lkml.org/ (lista de correo del kernel)

    Licencia y Descargo de Responsabilidad

    Solo para Uso Interno — Esta herramienta es solo para fines de auditoría y gestión de parches por parte de administradores de sistemas autorizados.

    root@kitploit:~
    DESCARGO DE RESPONSABILIDAD:
    - Úsela solo en sistemas que posea o para los que tenga autorización explícita de acceso
    - El parcheo automático y el reinicio pueden causar tiempo de inactividad
    - Pruebe en un entorno de ensayo antes del despliegue en producción
    - Asegúrese de tener copias de seguridad antes de parchear
    - El desarrollador no es responsable de la pérdida de datos ni de la interrupción del servicio
    

    Contribución y Soporte

    Autor: GagalTotal
    Repositorio: https://github.com/gagaltotal/cve-2026-31431-copy-fail
    Contacto: ghostgtr666

    Para informes de errores, solicitudes de funciones o preguntas:

    1. Abra un Issue en GitHub
    2. Incluya el registro de salida y los detalles del entorno
    3. Sea específico y proporcione pasos reproducibles

    Última Actualización: 8 de mayo de 2026
    Versión del Escáner: 1.0

    Descargar herramienta