
Repository di ricerca difensiva per CVE-2026-31431, un'escalation di privilegi locali del kernel Linux tramite corruzione della cache di pagina attraverso AF_ALG, splice() e authencesn. Include analisi tecnica, strategie di rilevamento e misure di mitigazione.
Copy Fail (CVE-2026-31431) è una vulnerabilità di tipo Local Privilege Escalation (LPE) che colpisce il kernel Linux attraverso una corruzione controllata della page cache tramite i meccanismi AF_ALG, splice() e authencesn.
Questo repository ha l'obiettivo di:
⚠️ Questo progetto è strettamente educativo, difensivo e destinato alla ricerca sulla sicurezza.
Tutte le dimostrazioni presentate in questo repository sono state effettuate in ambienti di laboratorio isolati e controllati.
Nessun utilizzo su sistemi di terze parti senza esplicita autorizzazione è consentito.
| Caratteristica | Dettaglio |
|---|---|
| Nessuna race condition | Sfruttamento deterministico |
| Nessuna modifica del disco |
Paragonabile a:
User Space
↓
AF_ALG Socket
↓
splice()
↓
Page Cache Reference
↓
authencesn In-Place Write
↓
Controlled 4-Byte Overwrite
↓
execve()
↓
Privilege Escalation
2011 → authencesn aggiunto al kernel
2015 → AF_ALG riceve il supporto AEAD + splice()
2017 → Ottimizzazione in-place in algif_aead.c
2026 → Scoperta e patch ufficiale
AF_ALGInterfaccia socket che espone le primitive crittografiche del kernel Linux allo spazio utente.
splice()Meccanismo che permette il trasferimento di pagine senza copia tra file descriptor.
authencesnTemplate AEAD IPsec ESN che utilizza il buffer di destinazione come spazio di lavoro temporaneo.
L'ottimizzazione introdotta in algif_aead.c ha permesso il concatenamento diretto delle pagine della page cache nella scatterlist di destinazione tramite sg_chain().
Input SGL: AAD || Ciphertext || Tag (page cache)
↑
Output SGL: AAD || Ciphertext ------+
authencesn scrive quindi direttamente nelle pagine della page cache del file di destinazione.
| Primitiva | Controllo |
|---|---|
| File di destinazione | Qualsiasi file leggibile |
⚠️ Riservato ad ambienti di test isolati.
uname -r
lsmod | grep algif_aead
python3 --version
git clone https://github.com/theori-io/copy-fail-CVE-2026-31431.git
cd copy-fail-CVE-2026-31431
python3 copy_fail_exp.py
auditctl -a always,exit -F arch=b64 -S socket -F a0=38 -k af_alg_socket
auditctl -a always,exit -F arch=b64 -S splice -k splice_monitor
ps aux | awk '$1 == "root"'
ss -tlnp
algif_aeadecho "install algif_aead /bin/false" | sudo tee /etc/modprobe.d/disable-algif-aead.conf
sudo rmmod algif_aead
{
"defaultAction": "SCMP_ACT_ALLOW",
"syscalls": [
{
"names": ["socket"],
"action": "SCMP_ACT_ERRNO",
"args": [
{ "index": 0, "value": 38, "op": "SCMP_CMP_EQ" }
]
}
]
}
La patch a664bf3d603d rimuove l'operazione in-place vulnerabile in algif_aead.c.
sudo apt update && sudo apt upgrade
sudo reboot
| Data | Evento |
|---|---|
| 2017 | Introduzione della vulnerabilità |
| 2026-03-23 | Segnalazione al team di sicurezza del kernel |
| 2026-04-01 | Patch integrata |
| 2026-04-29 | Divulgazione pubblica |
linux kernel security, CVE-2026-31431, copy fail, page cache, AF_ALG, authencesn, linux LPE, kernel exploit, linux hardening, security research, dirty pipe, kernel mitigation
Questo repository è destinato esclusivamente a:
Qualsiasi utilizzo non autorizzato è illegale.
🛡️ Consapevolezza • Mitigazione • Ricerca Difensiva
🔁 Condividi il progetto con la comunità della cybersecurity
⭐ Supporta la ricerca sulla sicurezza Linux
| Elemento | Valore |
|---|
| Tipo | Escalation dei Privilegi Locali |
| Impatto | Root locale |
| Componente | Kernel Linux |
| Sottosistema | AF_ALG / authencesn |
| Primitiva | Scrittura controllata nella page cache |
| Condizione | Utente non privilegiato |
| Stealth | File su disco intatto |
| Gravità | Critica |
| Rilevamento difficile |
| Exploit minimalista | Solo Python standard |
| Impatto contenitori | Kubernetes / VPS / hosting condiviso |
| Ampia finestra | Kernel vulnerabili dal 2017 |
| Offset | Controllato tramite splice |
| Valore scritto | Campo seqno_lo |
| Persistenza | Solo in memoria |
| Rilevamento su disco | Impossibile |
| Distribuzione | Kernel | Stato |
|---|
| Ubuntu 24.04 LTS | 6.17.0-1007-aws | ✅ Vulnerabile |
| Amazon Linux 2023 | 6.18.8-9.213 | ✅ Vulnerabile |
| RHEL 10.1 | 6.12.0 | ✅ Vulnerabile |
| SUSE 16 | 6.12.0 | ✅ Vulnerabile |
| Risorsa | Descrizione |
|---|
| Dirty Pipe | CVE-2022-0847 |
| Linux Kernel Docs | Documentazione ufficiale |
| Openwall Security | Mailing list di sicurezza |
| LWN.net | Analisi del kernel Linux |
| AF_ALG Documentation | API Crypto |
| XFRM / IPsec | Sottosistema interessato |