
Python PoC for CVE-2026-80844: IPv6 AH6 skb corruption and ESP-in-UDP decryption to overwrite /etc/pam.d/su and escalate to root on Linux.
[!WARNING] The PoC is provided solely to help defenders, maintainers, and authorized security teams validate patches, mitigations, detections, and exposure on systems they own or are explicitly authorized to test.
You are solely responsible for ensuring that your use of this material is lawful, authorized, controlled, and conducted in an isolated test environment.
[!WARNING] This PoC is destructive. It modifies
/etc/pam.d/suwithout any rollback. A misplaced overwrite can corrupt unrelated kernel memory and hang/crash the machine.Run only in a disposable VM/throwaway host.
The PoC:
enters a private user/network namespace, builds veth, IOAM6, netem, AH6, and
ESP-in-UDP paths and queues file-backed ESP skbs sourced from /etc/pam.d/su
sends a malformed IPv6 routing header whose segments_left exceeds its
address count, making AH6 corrupt a nearby target skb
uses the corrupted skb metadata to make ESP decrypt chosen bytes into the file-backed PAM page, and
runs su - root after pam_rootok.so has become pam_permit.so.
The PoC assumes and targets x86-64 to keep things simple. In theory, the bug should not be arch-specific.
Enumerating exhaustively for completeness:
7.1.3-100.fc43.x86_64, or Ubuntu 24.04 with 6.8.0-134-generic (you can try removing these checks, but other distros/kernel versions may require per-target customization/grooming)/etc/pam.d/su layoutCAP_NET_ADMIN and CAP_NET_RAW inside that namespacesch_netem, and vethgcc, openssl, ip, tc, unshare, nsenter, su, , , , , , , , , , , , , , and , plus and the loaded profile if direct is deniedFedora tested best with 16 vCPUs/32 GB RAM; Ubuntu with 29 vCPUs/8 GB RAM -- other combos might work (especially different vCPU counts). The PoC performs reasonably with a range of other vCPU/RAM combos, but YMMV.
Run it as an unprivileged user with a passwd entry.
python3 dirtyah6_root_repro.py
bashenvshsleepawkseqgrepkillcatsedrmddodtraa-exectrinityunshare -Urn