
PoC Python per CVE-2026-80844: corruzione skb di IPv6 AH6 e decifratura ESP-in-UDP per sovrascrivere /etc/pam.d/su ed escalare a root su Linux.
[!WARNING] Il PoC è fornito esclusivamente per aiutare difensori, manutentori e team di sicurezza autorizzati a convalidare patch, mitigazioni, rilevamenti ed esposizione su sistemi di loro proprietà o che sono esplicitamente autorizzati a testare.
Sei l'unico responsabile di garantire che il tuo utilizzo di questo materiale sia lecito, autorizzato, controllato e condotto in un ambiente di test isolato.
[!WARNING] Questo PoC è distruttivo. Modifica
/etc/pam.d/susenza alcun rollback. Una sovrascrittura errata può corrompere memoria del kernel non correlata e bloccare/crashare la macchina.Eseguilo solo in una VM usa e getta/host sacrificabile.
Il PoC:
entra in un namespace privato utente/rete, costruisce percorsi veth, IOAM6, netem, AH6 e
ESP-in-UDP e accoda skb ESP file-backed provenienti da /etc/pam.d/su
invia un header di routing IPv6 malformato il cui segments_left supera il suo
numero di indirizzi, facendo sì che AH6 corrompa uno skb target vicino
usa i metadati dello skb corrotto per far sì che ESP decripti byte scelti nella pagina PAM file-backed, e
esegue su - root dopo che pam_rootok.so è diventato pam_permit.so.
Il PoC presuppone e ha come target x86-64 per mantenere le cose semplici. In teoria, il bug non dovrebbe essere specifico per l'architettura.
Enumerando in modo esaustivo per completezza:
7.1.3-100.fc43.x86_64, o Ubuntu 24.04 con 6.8.0-134-generic (puoi provare a rimuovere questi controlli, ma altre distro/versioni del kernel potrebbero richiedere personalizzazione/grooming specifici per target)/etc/pam.d/suCAP_NET_ADMIN e CAP_NET_RAW all'interno di quel namespacesch_netem e vethgcc, openssl, ip, tc, unshare, nsenter, su, , , , , , , , , , , , , e , più e il profilo caricato se diretto viene negatoFedora ha dato i risultati migliori con 16 vCPU/32 GB RAM; Ubuntu con 29 vCPU/8 GB RAM -- altre combinazioni potrebbero funzionare (specialmente diversi numeri di vCPU). Il PoC si comporta ragionevolmente con una gamma di altre combinazioni vCPU/RAM, ma YMMV.
Eseguilo come utente non privilegiato con una voce in passwd.
python3 dirtyah6_root_repro.py
bashenvshsleepawkseqgrepkillcatsedrmddodtraa-exectrinityunshare -Urn