
PoC d'élévation de privilèges locale du noyau Linux pour CVE-2026-68121, enchaînant PPPoE, FUSE et IP6GRE pour corrompre la mémoire du noyau et obtenir les droits root.
[!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 corrompt délibérément la mémoire du noyau en direct. Un écrasement mal placé peut corrompre de la mémoire noyau sans rapport et bloquer/planter la machine.
À exécuter uniquement dans une VM jetable ou un hôte temporaire.
Le PoC :
struct file et
prépare une fdtable peuplée vers l'allocation cibledev_hard_header() réalloue la tête du skb, puis utilise le pointeur
d'en-tête PPPoE obsolète pour rediriger une entrée de fdtable vers le faux fichier, et/bin/sh -p.Le PoC suppose et cible x86-64 pour simplifier les choses. En théorie, le bug ne devrait pas être spécifique à une architecture, mais il faudrait en porter beaucoup (de la fuite de la base du noyau au reste de la chaîne).
Énumération exhaustive par souci d'exhaustivité :
6.19.10-300.fc44.x86_64, ou Ubuntu 24.04 avec
6.8.0-124-generic ou 6.8.0-136-generic (vous pouvez essayer de supprimer ces
vérifications, mais d'autres distributions/versions de noyau peuvent nécessiter une
personnalisation/préparation par cible)passwd et un répertoire personnel qu'il
possèdeCAP_NET_ADMIN et
CAP_NET_RAW à l'intérieur de ce namespace/dev/fuse, plus le support FUSE, PPPoE, IP6GRE, AF_PACKET/TX-ring
et team sur Fedora ou bonding sur Ubuntumembarrier privé accéléré pour certaines dispositions d'ordre faibleRLIMIT_NOFILE suffisamment grande pour la géométrie de porteur
sélectionnée, vérifiée à l'exécution et pouvant nécessiter jusqu'à 8 192 descripteursTesté uniquement avec 4 Go de RAM et divers nombres de CPU de 4+. D'autres combinaisons CPU/mémoire peuvent nécessiter plus de préparation et/ou peuvent rediriger l'écriture vers de la mémoire sans rapport.
Exécutez-le en tant qu'utilisateur non privilégié avec une entrée passwd. La conversion Ubuntu peut
prendre un certain temps (par exemple, plus de 300 tentatives).
python3 pppoeject_root_repro.py
gcc avec les en-têtes de développement
libc et Linux UAPI, taskset, unshare, ip, true et /bin/sh, plus aa-exec
et le profil trinity chargé sur Ubuntu si unshare -Urn direct est
refusé