
Scanner automatizzato e helper di patch per CVE-2026-31431, che rileva host Linux vulnerabili via SSH, verifica le versioni del kernel e applica aggiornamenti del kernel o mitigazioni temporanee su più distribuzioni.
Copy Fail è uno scanner di sicurezza automatico e helper di patch per rilevare e correggere la vulnerabilità CVE-2026-31431 (Linux Kernel algif_aead Local Privilege Escalation) nella vostra infrastruttura Linux.
CVE-2026-31431 è una vulnerabilità di Local Privilege Escalation (LPE) nel modulo del kernel Linux algif_aead (Asynchronous Cipher Interface for AEAD). Questa vulnerabilità consente a un utente locale di ottenere l'elevazione dei privilegi a livello root.
Questo strumento aiuta a:
Nota: Questo strumento è destinato esclusivamente ad audit interni e gestione delle patch da parte dei sysadmin. Utilizzatelo solo su sistemi di vostra proprietà o per i quali avete l'autorizzazione.

algif_aead (caricato/non caricato)Upgrade automatico del kernel sugli host vulnerabili tramite il package manager:
Opzione: Reboot automatico dopo il completamento della patch
algif_aead tramite configurazione modprobe.dDatabase delle versioni del kernel già patchate per:
paramiko>=3.0.0 # Libreria SSH
rich>=13.0.0 # Bellissima UI del terminale
git clone https://github.com/gagaltotal/cve-2026-31431-copy-fail.git
cd cve-2026-31431-copy-fail
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
oppure installazione manuale:
pip install paramiko>=3.0.0 rich>=13.0.0
python3 copyfail_scanner.py --help
# Scansione subnet con chiave SSH
python3 copyfail_scanner.py --subnet <CIDR> --user <USERNAME> --key <PATH_TO_KEY>
# Scansione di più host specifici
python3 copyfail_scanner.py --hosts <IP1>,<IP2>,<IP3> --user <USERNAME> [--password <PASSWORD>]
# Scansione + patch automatica
python3 copyfail_scanner.py --subnet <CIDR> --user <USERNAME> --key <PATH> --patch
# Scansione + mitigazione temporanea
python3 copyfail_scanner.py --subnet <CIDR> --user <USERNAME> --key <PATH> --mitigate
| Opzione | Descrizione | Esempio |
|---|---|---|
--subnet | Subnet CIDR target (mutualmente esclusiva con --hosts) | --subnet 192.168.1.0/24 |
--hosts | Elenco di IP separati da virgola (mutualmente esclusiva con --subnet) | --hosts 192.168.1.10,192.168.1.20 |
--user | Nome utente SSH (obbligatorio) | --user root |
--password | Password SSH (opzionale, usare se non si dispone di chiave) | --password secret123 |
--key | Percorso della chiave privata SSH | --key ~/.ssh/id_rsa |
--port | Porta SSH (default: 22) | --port 2222 |
--threads | Numero di thread paralleli (default: 30) | --threads 50 |
--patch | Upgrade automatico del kernel sugli host vulnerabili | --patch |
--reboot | Reboot automatico dopo la patch (da usare con --patch) | --patch --reboot |
--mitigate | Applica la mitigazione temporanea (disabilita algif_aead) | --mitigate |
--output | Esporta i risultati della scansione in un file JSON | --output risultati.json |
--yes | Salta il prompt di conferma prima di patch/mitigazione | --yes |
python3 copyfail_scanner.py \
--subnet 192.168.1.0/24 \
--user ubuntu \
--key ~/.ssh/id_rsa
Output: Visualizza la tabella dei risultati della scansione e il riepilogo
python3 copyfail_scanner.py \
--hosts 10.0.1.5,10.0.1.6,10.0.1.7 \
--user admin \
--password my_password123
python3 copyfail_scanner.py \
--subnet 172.16.0.0/16 \
--user root \
--key ~/.ssh/id_rsa \
--mitigate
Azione: Scansione di tutti gli host, poi disattivazione del modulo algif_aead sugli host vulnerabili (richiede conferma)
python3 copyfail_scanner.py \
--subnet 192.168.0.0/24 \
--user ubuntu \
--key ~/.ssh/id_rsa \
--patch
Azione: Upgrade del kernel, ma nessun reboot automatico (richiede reboot manuale)