
Comprueba el estado local de mitigación/exposición en Linux para CVE-2026-31431 "Copy Fail"
cve-2026-31431-check es un pequeño script Bash de triaje para comprobar los indicadores locales de exposición y mitigación de Linux para CVE-2026-31431, también conocido como "Copy Fail".
El script está dirigido a Debian, Ubuntu y derivados de la familia Debian (incluyendo Linux Mint, Pop!_OS y sistemas similares basados en dpkg/APT). Sale con el código 3 en hosts que no son de la familia Debian o sin dpkg-query. No se basa únicamente en la versión del kernel, porque los backports del proveedor y los paquetes de mitigación pueden hacer que las comprobaciones basadas solo en la versión sean engañosas.
En contenedores, chroots o entornos donde el tiempo de arranque de /proc, el estado de los módulos o /var/lib/dpkg no reflejan el host real, las marcas de tiempo de reinicio y de los paquetes pueden ser engañosas: trate esas señales en consecuencia.
El script informa:
kmod y los detalles del paquete del kernelalgif_aead está cargado, integrado, cargable, bloqueado o ausenteEste script no determina si un host fue explotado previamente.
Comprueba los indicadores actuales de exposición local y si el kernel arrancado es coherente con las marcas de tiempo del paquete del kernel en ejecución instalado y el estado de mitigación. Si el changelog del paquete del kernel en ejecución hace referencia a la corrección pero el host no se ha reiniciado desde que se instaló ese paquete, el script lo trata como acción requerida (código de salida 1): el kernel en memoria puede seguir siendo anterior a la corrección en disco hasta que reinicie en la imagen instalada.
chmod +x cve-2026-31431-check
./cve-2026-31431-check
Mostrar ayuda:
./cve-2026-31431-check --help
Mostrar versión:
./cve-2026-31431-check --version
| Código | Significado |
|---|---|
| 0 | Parcheado, mitigado o probablemente no expuesto según las comprobaciones locales |
GPL-3.0-only
| 1 | Indicador vulnerable o expuesto encontrado, o reinicio requerido después de que una corrección esté presente en disco |
| 2 | Desconocido; se necesita revisión manual |
| 3 | Error del script, sistema operativo no compatible (no familia Debian) o falta dpkg-query |