Une faille du noyau Linux référencée CVE-2026-46300, surnommée Fragnesia, permet à un utilisateur local non privilégié d'obtenir les droits root en corrompant le cache de pages en RAM du système d'exploitation. Classée CVSS 7.8 (élevée), elle touche le sous-système XFRM ESP-in-TCP du kernel et ne nécessite aucune condition de course. Un proof-of-concept public, disponible depuis le jour de la divulgation (13 mai 2026), cible les binaires setuid comme /usr/bin/su pour obtenir un shell root. La CISA confirme une exploitation active et des campagnes combinant Fragnesia avec d'autres vulnérabilités ont été documentées par des chercheurs en sécurité. Les correctifs sont disponibles pour toutes les distributions majeures : tout administrateur chargé d'administrer un VPS Linux ou un serveur dédié doit vérifier son noyau et appliquer la mise à jour des paquets sans délai.
Sources : advisory Red Hat RHSA-2026:19540, tracker Ubuntu, Debian Security Tracker, analyse TuxCare.
CVE-2026-46300 : comprendre la faille Fragnesia
La vulnérabilité se situe dans la fonction skb_try_coalesce() du noyau Linux, chargée de regrouper les fragments de tampons réseau (socket buffers, ou skb). Lorsque cette fonction attache des fragments paginés d'un skb à un autre, elle perd le marqueur SKBFL_SHARED_FRAG qui signale que certaines pages appartiennent au cache de pages du système de fichiers. Sans ce marqueur, le sous-système XFRM ESP-in-TCP traite ces pages comme des données réseau ordinaires et les déchiffre sur place, directement en RAM.
Concrètement, un attaquant local exploite la faille en plusieurs étapes :
- Il crée des espaces de noms utilisateur et réseau non privilégiés via
unshare()pour obtenirCAP_NET_ADMINdans son espace réseau isolé. - Il installe des associations de sécurité ESP-in-TCP en mode transport avec une clé AES-128-GCM connue.
- Il injecte des pages du cache de fichiers dans la file de réception TCP d'un socket à l'aide de
splice(), puis bascule le socket en mode ULP espintcp. - Le noyau applique le déchiffrement AES-GCM directement sur les pages du cache de fichiers en lecture seule stockées en RAM, effectuant un XOR contrôlé octet par octet.
Le PoC publié par William Bowling (V12 Security) remplace le contenu en mémoire de /usr/bin/su par un payload ELF minimaliste qui exécute setresuid(0,0,0); execve("/bin/sh");. Le fichier sur disque reste inchangé : seule la copie en cache dans la RAM est altérée, ce qui rend la détection difficile par les outils classiques de vérification d'intégrité de fichiers comme AIDE ou Tripwire.
Le défaut provient d'un commit de 2013 (cef401de7be8) dans la fonction de coalescence des tampons réseau. Il est resté latent jusqu'à ce que le correctif de la faille précédente Dirty Frag (f4c50a4034e6) rende son exploitation pratique. Fragnesia est donc une variante qui contourne le patch Dirty Frag, et les deux partagent la même surface d'attaque dans le core du sous-système réseau du noyau.
Impact pour les administrateurs de serveurs
CVE-2026-46300 est une élévation de privilèges locale : l'attaquant doit disposer d'un accès shell sur la machine cible. Ce vecteur d'attaque concerne directement plusieurs scénarios courants pour quiconque doit administrer des serveurs Unix et Linux :
- VPS et hébergement mutualisé : tout utilisateur ayant un accès en ligne de commande, même restreint, peut potentiellement obtenir root. Sur un serveur VPS Linux, un compte applicatif compromis (serveur web, base de données, processus de jeu) peut mener à une prise de contrôle complète du système. Les machines virtuelles KVM sont isolées par leur propre noyau, mais chaque VPS reste individuellement vulnérable si le package kernel n'est pas à jour.
- Serveurs de jeu (FiveM, Minecraft, Rust) : un processus de serveur de jeu tourne généralement sous un compte dédié sans privilèges. Si ce compte est compromis via un plugin malveillant, un script vérolé ou une faille dans le moteur de jeu, Fragnesia lui ouvre la porte vers root. L'attaquant peut alors modifier la configuration du firewall, accéder aux fichiers d'autres utilisateurs virtuels ou installer une porte dérobée persistante.
- Virtualisation et conteneurs : les conteneurs Docker et LXC partagent le noyau de l'hôte. Un processus à l'intérieur d'un conteneur qui exploite la faille peut corrompre le cache de pages de l'hôte et compromettre l'ensemble de l'infrastructure de virtualisation. Ce risque touche aussi les environnements Proxmox : les conteneurs LXC utilisent le noyau du serveur dédié hôte, et un locataire malveillant dans un environnement virtuel peut atteindre le noyau de la machine physique.
Deux variantes de l'exploit sont connues : la voie TCP originale et une voie via le sous-système GRO (Generic Receive Offload). Les deux sont bloquées par le même contournement (désactivation des modules ESP). Sur un serveur hébergeant plusieurs services virtuels ou accessible depuis plusieurs adresses IP, chaque instance applicative représente un point d'entrée potentiel si elle est compromise.
Vérifier si votre serveur est vulnérable
Connectez-vous en SSH à votre serveur et affichez la version du noyau en cours d'exécution en ligne de commande :
uname -r
Comparez le résultat avec les versions corrigées de votre distribution. Si votre noyau est antérieur à la version indiquée dans le tableau ci-dessous, votre serveur est vulnérable et le package du kernel doit être mis à jour :
| Distribution | Version corrigée du noyau (package) |
|---|---|
| Debian 12 Bookworm | 6.1.190-1 |
| Debian 13 Trixie | 6.12.113-1 |
| Ubuntu 24.04 LTS | 6.8.0-124.124 |
| Ubuntu 22.04 LTS | 5.15.0-181.191 |
| AlmaLinux / Rocky Linux 8 | kernel-4.18.0-553.124.3.el8_10 |
| AlmaLinux / Rocky Linux 9 | kernel-5.14.0-611.54.5.el9_7 |
Sur les distributions RHEL et dérivées (AlmaLinux, Rocky Linux, CentOS Stream), vérifiez le paquet noyau installé avec cette commande :
rpm -q kernel
Pour lister les paquets du noyau disponibles et identifier si la mise à jour est prête à être installée :
# Debian / Ubuntu
apt list --upgradable 2>/dev/null | grep linux-image
# AlmaLinux / Rocky Linux / CentOS
dnf list updates kernel
Appliquer le correctif
La correction définitive consiste à mettre à jour les paquets du noyau puis à redémarrer le serveur pour charger la version corrigée. Avant toute intervention, effectuez un backup de vos données, fichiers de configuration et scripts personnalisés. Une sauvegarde complète permet de restaurer le serveur si la migration vers le nouveau noyau provoque une incompatibilité avec un module ou un driver.
Debian et Ubuntu (apt)
sudo apt update && sudo apt upgrade -y
sudo reboot
Après le redémarrage, confirmez que le nouveau noyau est actif :
uname -r
AlmaLinux, Rocky Linux, CentOS Stream, RHEL (dnf)
sudo dnf update kernel -y
sudo reboot
Si vous administrez plusieurs serveurs, automatisez les mises à jour de sécurité pour ne pas dépendre d'une vérification manuelle à chaque CVE. Des scripts d'automatisation ou des outils comme Ansible permettent de configurer la mise à jour des paquets de sécurité sur l'ensemble de votre parc de serveurs dédiés et de machines virtuelles.
Contournement temporaire sans redémarrage
Si un redémarrage immédiat est impossible (serveur de production critique, serveur de jeu en cours de partie, maintenance planifiée à une autre date), un contournement temporaire bloque le vecteur d'attaque en désactivant les modules noyau impliqués. Vous pouvez configurer ce contournement en ligne de commande en quelques minutes.
Etape 1 : bloquer les modules ESP et rxrpc
Créez un fichier de configuration modprobe qui empêche le chargement des modules vulnérables :
sudo sh -c "printf 'install esp4 /bin/false\ninstall esp6 /bin/false\ninstall rxrpc /bin/false\n' > /etc/modprobe.d/fragnesia.conf"
Si les modules sont déjà chargés, déchargez-les (cette opération interrompt IPsec si vous l'utilisez) :
sudo rmmod esp4 esp6 rxrpc 2>/dev/null; echo "Modules déchargés"
Vérifiez que les modules ne sont plus actifs :
lsmod | grep -E '^(esp4|esp6|rxrpc)[[:space:]]'
Si la commande ne renvoie rien, les modules sont bien déchargés.
Etape 2 : vider le cache de pages en RAM
Si un exploit a été tenté avant l'application du contournement, les pages corrompues peuvent persister en mémoire RAM. Videz le cache de pages pour éliminer toute modification résiduelle :
sudo sysctl vm.drop_caches=3
Vous pouvez vérifier l'intégrité d'un binaire setuid en comparant son empreinte avant et après le vidage du cache :
sha256sum /usr/bin/su
sudo sysctl vm.drop_caches=1
sha256sum /usr/bin/su
Si les deux empreintes diffèrent, le cache de pages contenait une copie altérée. Le fichier sur disque est intact, mais une investigation approfondie est recommandée pour déterminer si l'attaquant a établi une persistance par d'autres moyens.
Limites du contournement
Attention : la désactivation des modules esp4 et esp6 casse les VPN IPsec (strongSwan, Libreswan). Si votre serveur utilise un tunnel IPsec pour connecter des machines virtuelles entre elles ou pour sécuriser le trafic entre vos serveurs, ce contournement n'est pas applicable sans perte de connectivité VPN. Dans ce cas, privilégiez la mise à jour du noyau avec redémarrage, ou restreignez les espaces de noms réseau non privilégiés comme palliatif partiel :
# RHEL / AlmaLinux / Rocky Linux / CentOS
echo "user.max_user_namespaces=0" | sudo tee /etc/sysctl.d/fragnesia.conf
sudo sysctl --system
Sur Ubuntu 24.04, les espaces de noms non privilégiés sont déjà restreints par défaut via AppArmor (kernel.apparmor_restrict_unprivileged_userns).
Détecter une tentative d'exploitation
Fragnesia ne laisse pas de trace sur le disque (seul le cache mémoire en RAM est altéré). Les outils de détection d'intrusion basés sur les signatures de fichiers (AIDE, Tripwire) ne détecteront pas l'attaque. En revanche, les comportements suivants sont des signaux d'alerte exploitables avec auditd ou un script de surveillance des appels système :
- Appels
unshare(CLONE_NEWUSER | CLONE_NEWNET)depuis des processus inattendus (serveur web, serveur de jeu, processus applicatif). - Activité sur le socket
NETLINK_XFRMsans lien avec un service VPN légitime. - Utilisation intensive de l'interface crypto du noyau (
AF_ALG) en boucle serrée, signe que des scripts d'exploitation tentent de corrompre le cache de pages. - Opérations
splice()depuis des fichiers réguliers vers des sockets TCP suivies d'un changement de protocole ULP.
Surveillez les ressources de votre serveur pour repérer une charge CPU anormale liée à ces opérations cryptographiques en boucle. Un pic soutenu sur un ou plusieurs cores CPU sans activité applicative correspondante peut indiquer une tentative d'exploitation.
Mesures complémentaires de sécurisation
Au-delà du correctif Fragnesia, cette faille rappelle l'importance de maintenir une posture de sécurité rigoureuse sur vos serveurs Linux et Unix. Chaque couche de protection réduit la surface d'attaque et limite les conséquences d'une compromission :
- Appliquez les premiers réglages de sécurité sur tout nouveau serveur dédié ou VPS, y compris configurer le pare-feu et la restriction des accès réseau.
- Durcissez l'accès SSH : authentification par clé uniquement, désactivation du login root, port non standard. C'est la première ligne de défense pour administrer un serveur en ligne de commande.
- Configurez UFW et Fail2ban comme firewall applicatif pour limiter la surface d'attaque réseau et bloquer les tentatives de connexion par force brute sur l'adresse IP de votre serveur.
- Mettez en place un pare-feu nftables avec des règles strictes, notamment pour les serveurs de jeu exposés sur Internet.
- Exécutez vos applications (serveurs de jeu, services web) sous des comptes dédiés sans privilèges et avec un shell restreint, pour limiter l'impact d'une compromission de l'application.
- Planifiez des sauvegardes régulières (backup automatisé) de vos fichiers de configuration, bases de données et scripts métier. Un backup récent permet de restaurer un serveur compromis sans perte de données.
Chronologie de CVE-2026-46300
| Date | Evénement |
|---|---|
| 2013 | Introduction du bug dans skb_try_coalesce() (commit cef401de7be8) |
| 13 mai 2026 | Divulgation publique par William Bowling (V12 Security), PoC et patch candidat publiés simultanément |
| 13 mai 2026 | Attribution du CVE-2026-46300 |
| 14-18 mai 2026 | Publication des correctifs par Debian, Ubuntu, AlmaLinux, Rocky Linux, CentOS Stream |
| 18 mai 2026 | Patches rebootless disponibles via KernelCare pour les principales distributions |
Révoquer le contournement après mise à jour
Une fois le noyau corrigé installé et le serveur redémarré, supprimez le fichier de contournement et rechargez les modules pour restaurer la fonctionnalité IPsec :
sudo rm /etc/modprobe.d/fragnesia.conf
sudo modprobe esp4
sudo modprobe esp6
Vérifiez que les modules sont de nouveau chargés :
lsmod | grep -E '^(esp4|esp6)[[:space:]]'
Questions fréquentes sur CVE-2026-46300 Fragnesia
Retrouvez ci-dessous les réponses aux questions les plus courantes des administrateurs de serveurs concernant cette vulnérabilité du noyau Linux.
Conclusion
CVE-2026-46300 (Fragnesia) est une élévation de privilèges locale dans le noyau Linux qui permet à un utilisateur non privilégié d'obtenir root en corrompant le cache de pages en RAM via le sous-système XFRM ESP-in-TCP. Un PoC public cible les binaires setuid et des cas d'exploitation active ont été documentés. Les correctifs sont disponibles pour Debian, Ubuntu, AlmaLinux, Rocky Linux et CentOS Stream. Vérifiez la version de votre noyau avec uname -r, mettez à jour les paquets avec apt upgrade ou dnf update kernel, et redémarrez. Si le redémarrage est impossible dans l'immédiat, configurez le blocage des modules esp4, esp6 et rxrpc via modprobe et videz le cache de pages. Quelle que soit votre situation, planifiez le redémarrage dès que possible : le contournement temporaire désactive IPsec et ne protège pas contre d'éventuelles variantes futures. Si votre VPS Linux est hébergé chez un prestataire, vérifiez auprès de votre hébergeur que le noyau de l'hôte a été corrigé, en particulier si votre machine virtuelle fonctionne en virtualisation par conteneur (OpenVZ, LXC) où le noyau est partagé.
FiveM
Minecraft
Rust
RedM
Hytale