đ Contexte
PubliĂ© le 13 mai 2026 sur GitHub, cet article prĂ©sente Fragnesia, un exploit d’Ă©lĂ©vation de privilĂšges locale (LPE) universel sous Linux, dĂ©couvert par William Bowling de l’Ă©quipe V12 Security. Le code source est disponible publiquement sur GitHub.
đ VulnĂ©rabilitĂ©
Fragnesia appartient Ă la classe de vulnĂ©rabilitĂ©s Dirty Frag, distincte du bug original dirtyfrag mais exploitant la mĂȘme surface d’attaque : le sous-systĂšme Linux XFRM ESP-in-TCP. Le bug est un logic bug : le SKB (socket buffer) « oublie » qu’un fragment est partagĂ© lors de la coalescence.
- Surface : sous-systĂšme XFRM ESP-in-TCP du noyau Linux
- Impact : Ă©criture arbitraire d’octets dans le page cache noyau de fichiers en lecture seule
- Sans condition de course requise
- Versions affectées : tous les noyaux Linux antérieurs au 13 mai 2026 (patch : https://lists.openwall.net/netdev/2026/05/13/79)
âïž MĂ©canisme d’exploitation
- Namespace utilisateur + réseau :
unshare(CLONE_NEWUSER | CLONE_NEWNET)pour obtenirCAP_NET_ADMINsans privilĂšges rĂ©els sur l’hĂŽte - Installation d’une SA XFRM : association de sĂ©curitĂ© ESP-in-TCP en mode transport via
NETLINK_XFRMavec AES-128-GCM et clĂ© connue (SPI0x100) - Table de keystream : construction d’une table de 256 entrĂ©es mappant chaque octet de keystream AES-GCM Ă son nonce IV correspondant via
AF_ALG - Trigger splice/ULP : splice de 4096 octets du fichier cible dans le flux TCP, puis activation de
TCP_ULP espintcpâ le noyau dĂ©chiffre le record ESP en place, XORant le keystream dans la page physique du page cache - Ăcriture octet par octet : rĂ©pĂ©tition pour chaque octet du payload (192 octets)
- Exécution :
execve("/usr/bin/su")sur le binaire modifiĂ© en cache â shell root viasetresuid(0,0,0)/setresgid(0,0,0)/execve /bin/sh
â ïž Points notables
- La modification du page cache n’est pas persistĂ©e sur disque ; le binaire
/usr/bin/susur disque reste intact - AprÚs exploitation, toute exécution de
surelance un shell root jusqu’Ă Ă©viction de la page - Sur Ubuntu, AppArmor restreint les namespaces non privilĂ©giĂ©s par dĂ©faut (
kernel.apparmor_restrict_unprivileged_userns=0requis) - Mitigation : déchargement des modules
esp4,esp6,rxrpc(identique Ă dirtyfrag)
đ Type d’article
Il s’agit d’une analyse technique et d’une publication de recherche prĂ©sentant un exploit LPE Linux avec PoC public, dĂ©taillant le mĂ©canisme d’exploitation, les versions affectĂ©es et la mitigation disponible.
đ§ TTPs et IOCs dĂ©tectĂ©s
TTP
- T1068 â Exploitation for Privilege Escalation (Privilege Escalation)
- T1611 â Escape to Host (Privilege Escalation)
- T1548 â Abuse Elevation Control Mechanism (Privilege Escalation)
IOC
- Fichiers :
fragnesia.c - Chemins :
/usr/bin/su - Chemins :
/bin/sh - Chemins :
/etc/modprobe.d/dirtyfrag.conf
Malware / Outils
- Fragnesia (tool)
đ EDIT 13.05.2026 21h11 CEST correction source de l’article et titre (pas universel comme mis en evidence & dĂ©montrĂ© par https://www.bortzmeyer.org/fragnesia.html )
đ Source originale : https://github.com/v12-security/pocs/tree/main/fragnesia