
Dépôt éducatif détaillant CVE-2026-46300 (Fragnesia), une vulnérabilité d'élévation de privilèges locale du noyau Linux. Fournit une analyse technique, les systèmes affectés, des indicateurs de détection et des étapes de correction pour les équipes de défense.
Dépôt de sensibilisation uniquement. Ce repository ne contient pas de code d'exploitation. Son objectif est d'informer les administrateurs systèmes, ingénieurs et équipes de sécurité sur la nature de la vulnérabilité et les mesures de remédiation disponibles.
| Champ | Valeur |
|---|---|
| CVE | CVE-2026-46300 |
| Nom | Fragnesia |
| Sévérité | High (CVSS 7.8) |
| Type | Local Privilege Escalation (LPE) |
| Composant | Linux Kernel — XFRM ESP-in-TCP subsystem |
| Découvreur | William Bowling (V12 Security / Zellic.io) |
| Divulgation | 14 mai 2026 |
| Patch upstream | 13 mai 2026 — [PATCH net] net: skbuff: preserve shared-frag marker during coalescing |
| PoC public | ✅ Oui (publié le jour de la divulgation) |
| Exploitation ITW | ❌ Aucune observée à ce jour |
Fragnesia est la troisième vulnérabilité d'une série découverte dans le sous-système IPsec du noyau Linux en l'espace de deux semaines :
Dirty Frag (CVE-2026-43284) ──► Copy Fail (CVE-2026-43500) ──► Fragnesia (CVE-2026-46300)
Mai 2026 Mai 2026 14 mai 2026
Ironiquement, le patch de Dirty Frag a activé latentement la faille Fragnesia — la correction de CVE-2026-43284 a introduit un chemin de code exposant un bug préexistant depuis un commit datant de 2013.
"Fragnesia was accidentally activated by the patch fixing CVE-2026-43284."
— Hyunwoo Kim, découvreur de Dirty Frag
La faille réside dans la fonction skb_try_coalesce() du code socket-buffer du noyau. Lors de la fusion de fragments entre buffers, le marqueur SKBFL_SHARED_FRAG n'était pas propagé, faisant perdre au noyau la trace du fait qu'un fragment était adossé à des pages du page cache (ex. : un fichier mappé en mémoire via splice()).
1. L'attaquant ouvre un socket TCP
2. Il splice() des pages d'un fichier read-only (ex. /usr/bin/su) dans la receive queue
3. Le socket bascule en mode espintcp (ULP)
4. Le noyau traite les pages du fichier comme du texte chiffré ESP
5. La décryption AES-GCM in-place écrit des octets contrôlés dans le page cache
6. /usr/bin/su en mémoire est corrompu → exécution de code root au prochain appel
reboot restaure l'état)CAP_NET_ADMIN sans droits élevéssuTous les noyaux Linux publiés avant le 13 mai 2026 incluant le mécanisme SKBFL_SHARED_FRAG.
Les distributions impactées incluent notamment :
| Distribution | Statut patch |
|---|---|
| Ubuntu 22.04 / 24.04 | ✅ Patché |
| Debian 11 / 12 | ✅ Patché |
| AlmaLinux | ✅ Patché (avant RHEL) |
| Red Hat / RHEL | ✅ Advisory publié |
| SUSE / openSUSE | ✅ Advisory publié |
| Amazon Linux | ✅ Advisory publié |
| Fedora | ✅ Patché |
| Arch Linux | ✅ Patché |
| CentOS / Rocky Linux | ✅ Patché |
Mettre à jour vers un noyau corrigé :
# Debian / Ubuntu
sudo apt-get update && sudo apt-get dist-upgrade -y
sudo reboot
uname -r # Vérifier la version du nouveau noyau
# RHEL / AlmaLinux / Rocky Linux
sudo dnf clean metadata && sudo dnf upgrade -y
sudo reboot
# Arch Linux
sudo pacman -Syu
sudo reboot
Si une mise à jour immédiate n'est pas possible :
# Décharger les modules actifs
sudo rmmod esp4 esp6 rxrpc 2>/dev/null; true
# Blacklister définitivement les modules
printf 'install esp4 /bin/false\ninstall esp6 /bin/false\ninstall rxrpc /bin/false\n' \
| sudo tee /etc/modprobe.d/fragnesia.conf
# Régénérer initramfs (Debian/Ubuntu)
sudo update-initramfs -u
⚠️ La même blacklist de modules que celle utilisée pour Dirty Frag couvre également Fragnesia.
# Vérifier si les modules vulnérables sont chargés
lsmod | grep -E '^esp4|^esp6|^rxrpc'
# Si la commande retourne du contenu → le système est exposé
# Vérifier la version du noyau actuel
uname -r
cat /etc/os-release
AF_ALG via Seccomp/etc/passwd, /etc/sudoers, /etc/shadow, /usr/bin/susplice, add_key et unshare pour les utilisateurs non privilégiésSi une exploitation est suspectée avant l'application du patch :
sync; echo 3 | sudo tee /proc/sys/vm/drop_caches
⚠️ Cela purge uniquement la copie en mémoire. Si un attaquant a déjà obtenu les droits root et installé une backdoor, cette commande ne suffit pas — traiter le système comme entièrement compromis.
Les outils de détection doivent surveiller :
/usr/bin/su, /usr/bin/sudo, /bin/bash en mémoiresplice(), add_key(), unshare() par des utilisateurs non privilégiésespintcp sur des sockets utilisateurs non privilégiés🔎 Les outils de sécurité basés uniquement sur l'analyse des fichiers disque ne peuvent pas détecter cette exploitation, car le binaire sur disque reste intact.