
Fornisce script sicuri di rilevamento e patch del kernel per CVE-2026-31431, un'escalation dei privilegi del kernel Linux tramite algif_aead. Include controlli in sola lettura, blacklist dei moduli e aggiornamenti solo del kernel.
Escalation dei privilegi locale nel kernel Linux tramite
algif_aead(AF_ALG) CVSS 7.8 ALTO | Divulgazione pubblica: aprile 2026
Esegui come utente normale:
curl -fsSL https://raw.githubusercontent.com/Mrhudson69/cve-2026-31431/main/check_cve_2026_31431.sh -o check.sh && bash check.sh
Questo script:
algif_aead è raggiungibileEsegui come root:
curl -fsSL https://raw.githubusercontent.com/Mrhudson69/cve-2026-31431/main/patch_cve_2026_31431.sh -o patch.sh && sudo bash patch.sh
Esegui come root se vuoi rimuovere Elastic Agent dal server:
curl -fsSL https://raw.githubusercontent.com/Mrhudson69/cve-2026-31431/main/uninstall_elastic_agent.sh -o uninstall-elastic.sh && sudo bash uninstall-elastic.sh
Questo script:
elastic-agent uninstall in modalità non interattivaSe ti trovi all'interno di:
wg-easyNON puoi applicare la patch al kernel dell'host dall'interno del contenitore.
Lo script rileva automaticamente i contenitori ed esce in modo sicuro.
Devi eseguire lo script di patch su:
NON all'interno del contenitore.
Una vulnerabilità nell'interfaccia crittografica algif_aead del kernel Linux consente a un utente locale non privilegiato di corrompere il contenuto della cache delle pagine tramite operazioni AF_ALG.
Con configurazioni del kernel vulnerabili, ciò può consentire:
Il problema interessa le versioni del kernel Linux in cui esiste ed è raggiungibile la logica di ottimizzazione AEAD vulnerabile.
| Sistema operativo | Versioni |
|---|---|
| Ubuntu | 20.04 / 22.04 / 24.04 |
| Debian | 11 / 12 / 13 |
| Proxmox VE | 6.x / 7.x / 8.x / 9.x |
| Linux generico | Qualsiasi distribuzione con kernel vulnerabili |
check_cve_2026_31431.shScript di rilevamento sicuro in sola lettura.
| Controllo | Descrizione |
|---|---|
| Versione del kernel | Verifica l'intervallo di kernel vulnerabili |
| Presenza della patch | Tenta di identificare il kernel patchato |
| Stato di algif_aead | Verifica lo stato di caricamento / blacklist del modulo |
| Socket AF_ALG | Testa la raggiungibilità del bind AEAD di algif_aead |
Python os.splice | Verifica la fattibilità dell'exploit in puro Python |
| Esposizione Setuid | Rileva i target setuid comuni |
| Mitigazioni | Verifica AppArmor / SELinux / seccomp |
Lo script di rilevamento:
patch_cve_2026_31431.shScript sicuro di mitigazione + aggiornamento limitato al kernel.
Progettato per:
uninstall_elastic_agent.shScript helper sicuro per disinstallare Elastic Agent da un server Linux.
Progettato per:
/opt/Elastic/AgentCrea:
/etc/modprobe.d/cve-2026-31431-disable-algif-aead.conf
Contenuto:
blacklist algif_aead
install algif_aead /bin/false
Poi tenta:
rmmod algif_aead
Questo blocca il caricamento automatico del modulo vulnerabile.
Lo script aggiorna anche l'initramfs quando update-initramfs è disponibile, così la blacklist sopravvive in modo affidabile al riavvio.
Prima di aggiornare qualsiasi cosa, lo script esegue:
apt-get -s install --only-upgrade ...
Se QUALSIASI pacchetto non-kernel verrebbe aggiornato:
lo script si INTERROMPE automaticamente.
Questo previene aggiornamenti accidentali delle applicazioni.
Lo script aggiorna solo:
Nessun pacchetto applicativo/runtime viene aggiornato.
Se il sistema si riavvia, lo script di patch ora installa un servizio systemd one-shot temporaneo che riesegue automaticamente la fase di verifica al successivo avvio.
Questo consente a un singolo script di coprire:
Prima l'opzione più sicura:
sudo bash patch.sh --dry-run
Questo:
Consigliato prima della distribuzione in produzione.
sudo bash patch.sh --no-reboot
sudo bash patch.sh --reboot-now
Con --reboot-now, lo script installa l'hook di ripresa dopo il riavvio prima di pianificare il riavvio.
sudo reboot
Se usi --no-reboot o riavvii manualmente in seguito, la verifica post-riavvio riprende comunque automaticamente al successivo avvio.
Lo script è progettato per evitare di toccare:
Tuttavia:
--dry-runLog della patch:
/var/log/cve_2026_31431_kernel_patch.log
Controlla il kernel in esecuzione:
uname -r
Esegui di nuovo il rilevamento:
bash check.sh
Verifica la blacklist del modulo:
cat /etc/modprobe.d/cve-2026-31431-disable-algif-aead.conf
Questi script sono forniti esclusivamente per scopi di sicurezza difensiva e amministrazione di sistema.
Nessun codice di exploit è incluso.
Ricorda sempre di:
Usali a tuo rischio.
Licenza MIT
Voce CVE NVD https://nvd.nist.gov/vuln/detail/CVE-2026-31431
Commit di Fix del Kernel Linux https://git.kernel.org/linus/a664bf3d603dc3bdcf9ae47cc21e0daec706d7a5
Avvisi di Sicurezza Ubuntu https://ubuntu.com/security
Tracker di Sicurezza Debian https://security-tracker.debian.org/