
PoC Python pour CVE-2026-80844 : corruption de skb IPv6 AH6 et déchiffrement ESP-in-UDP pour écraser /etc/pam.d/su et élever les privilèges vers root sur Linux.
[!WARNING] Le PoC est fourni uniquement pour aider les défenseurs, les mainteneurs et les équipes de sécurité autorisées à valider les correctifs, les atténuations, les détections et l'exposition sur des systèmes qu'ils possèdent ou qu'ils sont explicitement autorisés à tester.
Vous êtes seul responsable de vous assurer que votre utilisation de ce matériel est légale, autorisée, contrôlée et effectuée dans un environnement de test isolé.
[!WARNING] Ce PoC est destructeur. Il modifie
/etc/pam.d/susans aucun retour en arrière. Un écrasement mal placé peut corrompre de la mémoire noyau sans rapport et figer/planter la machine.À exécuter uniquement dans une VM jetable ou un hôte éphémère.
Le PoC :
entre dans un namespace privé utilisateur/réseau, construit les chemins veth, IOAM6, netem, AH6 et
ESP-in-UDP et met en file d'attente des skbs ESP adossés à un fichier provenant de /etc/pam.d/su
envoie un en-tête de routage IPv6 malformé dont segments_left dépasse son
nombre d'adresses, ce qui amène AH6 à corrompre une skb cible voisine
utilise les métadonnées de la skb corrompue pour faire déchiffrer par ESP des octets choisis dans la page PAM adossée à un fichier, et
exécute su - root après que pam_rootok.so est devenu pam_permit.so.
Le PoC suppose et cible x86-64 pour simplifier les choses. En théorie, le bug ne devrait pas être spécifique à une architecture.
Énumération exhaustive par souci d'exhaustivité :
7.1.3-100.fc43.x86_64, ou Ubuntu 24.04 avec 6.8.0-134-generic (vous pouvez essayer de supprimer ces vérifications, mais d'autres distributions/versions de noyau peuvent nécessiter une personnalisation/un grooming par cible)/etc/pam.d/suCAP_NET_ADMIN et CAP_NET_RAW à l'intérieur de ce namespacesch_netem et vethgcc, openssl, ip, tc, unshare, nsenter, , , , , , , , , , , , , , et , plus et le profil chargé si direct est refuséFedora a donné les meilleurs résultats avec 16 vCPU/32 Go de RAM ; Ubuntu avec 29 vCPU/8 Go de RAM -- d'autres combinaisons peuvent fonctionner (en particulier différents nombres de vCPU). Le PoC se comporte raisonnablement avec une gamme d'autres combinaisons vCPU/RAM, mais les résultats peuvent varier.
Exécutez-le en tant qu'utilisateur non privilégié disposant d'une entrée passwd.
python3 dirtyah6_root_repro.py
subashenvshsleepawkseqgrepkillcatsedrmddodtraa-exectrinityunshare -Urn