
PoC di privilege escalation locale del kernel Linux per CVE-2026-68121, che concatena PPPoE, FUSE e IP6GRE per corrompere la memoria del kernel e ottenere i privilegi di root.
[!WARNING] Il PoC è fornito esclusivamente per aiutare difensori, manutentori e team di sicurezza autorizzati a validare 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 legale, autorizzato, controllato e condotto in un ambiente di test isolato.
[!WARNING] Questo PoC è distruttivo. Corrompe deliberatamente la memoria del kernel in uso. Una sovrascrittura mal posizionata può corrompere memoria del kernel non correlata e bloccare/crashare la macchina.
Eseguilo solo in una VM usa e getta/host sacrificabile.
Il PoC:
struct file falsi e
prepara una fdtable popolata verso l'allocazione targetdev_hard_header() riallochi la testa dell'skb, poi usa il puntatore stale
all'header PPPoE per redirigere una voce della fdtable verso il file falso, e/bin/sh -p.Il PoC assume e ha come target x86-64 per mantenere le cose semplici. In teoria, il bug non dovrebbe essere specifico per l'architettura, ma bisognerebbe portare molto (dal leak della kernel base al resto della catena).
Enumerazione esaustiva per completezza:
6.19.10-300.fc44.x86_64, o Ubuntu 24.04 con
6.8.0-124-generic o 6.8.0-136-generic (puoi provare a rimuovere questi
controlli, ma altre distro/versioni del kernel potrebbero richiedere
personalizzazione/grooming per target)passwd e una home directory di sua
proprietàCAP_NET_ADMIN e
CAP_NET_RAW all'interno di quel namespace/dev/fuse, più supporto FUSE, PPPoE, IP6GRE, AF_PACKET/TX-ring
e team su Fedora o supporto bonding su Ubuntumembarrier privato expedited per layout selezionati di ordine bassoRLIMIT_NOFILE sufficientemente grande per la geometria del carrier
selezionata, verificato a runtime e potenzialmente richiedente fino a 8.192 descrittoriTestato solo con 4GB di RAM e varie configurazioni con 4+ CPU. Altre combinazioni CPU/memoria potrebbero richiedere più grooming e/o potrebbero redirigere la scrittura in memoria non correlata.
Eseguilo come utente non privilegiato con una voce in passwd. La conversione per Ubuntu può
richiedere un po' di tempo (ad esempio, 300+ tentativi).
python3 pppoeject_root_repro.py
gcc con header di sviluppo libc e Linux UAPI,
taskset, unshare, ip, true e /bin/sh, più aa-exec
e il profilo trinity caricato su Ubuntu se unshare -Urn diretto viene
negato