Québec, Canada

403-1381 1re Avenue

+1 581.849.27.96

bdgouthiere@gmail.com

Root à distance sur Linux : une faille TCP, un exploit écrit par une IA

Ou : Comment une course réputée difficile à gagner se gagne en 48 minutes, à force de recommencer

Le 27 octobre 2026, l’équipe Frontier Red Team d’Anthropic a décrit cinq chaînes d’attaque écrites par un modèle de recherche interne, non publié1. La cinquième vise Linux : après une sollicitation initiale, le modèle a écrit un exploit qui exécute une commande en root sur un serveur distant, sans identifiant ni action de la victime. 48 minutes pour faire fuir une adresse du noyau, cinq de plus pour la commande. La faille, CVE-2026-98432, est une utilisation de mémoire après libération dans l’ouverture des connexions TCP en IPv4, présente depuis Linux 4.4, sorti en janvier 2016. L’équipe CVE du noyau lui donne 9,8 sur 102. Le correctif tient en deux lignes. Au 3 novembre 2026, Debian, Oracle Linux et Red Hat Enterprise Linux (RHEL) distribuent un noyau corrigé ; Ubuntu teste encore le sien.

Le billet donne les étapes, pas la recette : ni code, ni version du noyau, ni configuration. Des failles du noyau, il y en a toujours eu. Ce qui change, c’est le prix de l’exploit, donc le temps entre « il y a un bug » et « quelqu’un a un shell root ».

Faille TCP IPv4 du noyau Linux : ce que corrige CVE-2026-98432 et comment protéger ses serveurs

Deux lignes, à onze ans moins un jour

Le 2 octobre 2015, Eric Dumazet, l’un des mainteneurs de la pile réseau et de TCP dans Linux, a changé la façon dont le noyau traite les connexions en cours d’ouverture : il les gère sans verrouiller la socket qui écoute3. Son message promettait deux fois moins de pression sur ce verrou. C’était aussi, on le sait maintenant, la porte d’une course entre deux processeurs. Le 1er octobre 2026, le même développeur a écrit le correctif, en créditant Xinyang Ge, d’Anthropic, pour le signalement4.

D’après la fiche CVE, le noyau garde les options de l’en-tête IPv4 reçues avec le premier paquet d’une connexion, et la socket créée à l’établissement en hérite sans les copier. Si le client renvoie ce premier paquet, un autre processeur peut encore lire ces options pour répondre, alors que la socket, refermée entre-temps, les a libérées.

C’est un vestiaire avec deux employés et un seul ticket. Le premier rend le manteau et réattribue le crochet. Le second, qui lisait encore le ticket, va au même crochet et rapporte ce qui y pend maintenant. Le correctif fait attendre la fin de toutes les lectures en cours avant de rendre la mémoire :

1
2
-	kfree(rcu_dereference_protected(inet->inet_opt, 1));
+	kfree_rcu(rcu_dereference_protected(inet->inet_opt, 1), rcu);

kfree() libère tout de suite ; kfree_rcu() attend que plus aucun lecteur ne tienne le pointeur. IPv6 échappe au premier scénario : il copie les options2.

48 minutes de fuite, cinq de plus pour le root

Le billet décrit deux étapes. La première contourne KASLR, le placement aléatoire du noyau en mémoire : la course fait lire au noyau une longueur choisie par l’attaquant, et il renvoie des octets en trop, jusqu’à ce que l’un des envois contienne une adresse du noyau. La seconde détourne le flot d’exécution, jusqu’à une commande lancée en root1.

Le détail qui compte est ailleurs : une course perdue fait seulement échouer l’ouverture de la connexion, sans faire tomber la machine. L’attaquant recommence autant qu’il veut. Fin octobre, Red Hat notait la faille 5,9, la course étant jugée difficile à gagner, puis 8,1, selon The Hacker News5. Au 3 novembre, sa fiche affiche 9,8, gravité critique ; Oracle Linux en est encore à 8,16. Et contrairement à l’accès root par Tailscale SSH, qui partait d’une machine déjà compromise, le paquet arrive ici avant toute authentification.

MPTCP, la porte que l’exploit a prise

L’exploit vise un serveur qui écoute en MPTCP, l’extension qui permet à une connexion TCP d’emprunter plusieurs chemins réseau à la fois7. Ni la fiche CVE ni le correctif n’en parlent. Red Hat écrit que MPTCP n’est pas une condition de la faille, et l’équipe sécurité de Go juge fragile de le couper programme par programme : ce serait supposer que tous les exploits passent par là8. Couper MPTCP n’est pas une défense prouvée.

Savoir s’il est actif reste utile, et la réponse surprendra les développeurs Go. Depuis Go 1.24, net.Listen écoute en MPTCP par défaut sous Linux, et le noyau l’accepte par défaut9. Un service Go exposé sur un serveur écoute donc en MPTCP sans que personne l’ait demandé.

1
2
3
4
uname -r                    # le noyau qui tourne, pas forcément le dernier installé
sysctl net.mptcp.enabled    # 1 : le noyau accepte les sockets MPTCP
ss -Mln                     # les sockets MPTCP en écoute
GODEBUG=multipathtcp=0 ./mon-service   # Go : écoute en TCP classique

Avec GODEBUG=multipathtcp=0, un petit serveur compilé avec Go 1.27.3 disparaît bien de ss -Mln. L’option existe aussi dans le go.mod, et un appel à SetMultipathTCP passe outre8. Côté noyau, net.mptcp.enabled vaut par espace de noms réseau : le mettre à 0 sur l’hôte ne couvre pas les conteneurs qui ont le leur9.

Où en sont les distributions au 3 novembre 2026

DistributionÉtat au 3 novembre 2026
Noyau officielCorrigé dans 7.3, rétroporté dans 5.10.272, 5.15.223, 6.1.190, 6.6.159, 6.12.113, 6.18.56 et 7.2.10
DebianCorrigé : trixie le 16 octobre (6.12.113-1), bookworm en 6.1.190-1
Oracle LinuxNoyaux UEK corrigés le 16 octobre, noyaux compatibles RHEL le 2 novembre
RHELNoyaux corrigés le 1er novembre pour RHEL 8, 9 et 10 ; le noyau temps réel de RHEL 9 reste touché
UbuntuVulnérable : noyaux corrigés en test dans le dépôt -proposed depuis le 2 novembre pour 22.04, 24.04 et 26.04

En attendant, Ubuntu et Red Hat décrivent une règle nftables qui rejette les paquets TCP IPv4 porteurs d’options IP, en prévenant qu’elle réduit le risque sans l’éliminer. L’équipe sécurité d’Ubuntu tient la mise à jour pour la seule parade appropriée10. Au 3 novembre, la faille ne figure pas au catalogue des failles exploitées de la CISA, l’agence américaine de cybersécurité11.

Ce que fait celui qui gère trois serveurs

D’abord, connaître son noyau : uname -r donne celui qui tourne, dpkg -l 'linux-image-*' | grep '^ii' ceux qui sont installés sur Debian et Ubuntu. Une mise à jour installe le nouveau ; l’ancien tourne jusqu’au redémarrage.

Ensuite, lire la ligne de sa version dans le traqueur de sa distribution, pas dans la presse. En une semaine, RHEL est passé d’aucun noyau corrigé à trois, et son score de 5,9 à 9,8. Les articles du 30 octobre avaient raison le 30 octobre.

Enfin, redémarrer. L’avis de Red Hat le dit sans détour : la mise à jour ne prend effet qu’après un redémarrage12. Le correctif à chaud, Livepatch chez Ubuntu ou kpatch chez Red Hat, l’éviterait, mais au 3 novembre aucune des deux fiches n’en annonce pour cette faille. C’est le vrai prix d’un VPS : l’heure de maintenance. Cette semaine, elle tient en une mise à jour et un redémarrage.

DevOps Dave : J’ai coupé MPTCP sur les trois serveurs. On est tranquilles.

Security Sarah : La faille est dans TCP IPv4. MPTCP, c’est la porte qu’a prise l’exploit d’Anthropic. Rien ne dit que c’est la seule.

DevOps Dave : J’ai aussi fait la mise à jour hier soir.

Security Sarah : Et uname -r ?

DevOps Dave : … L’ancien.

Security Sarah : Tu as acheté la serrure. Elle est encore dans son carton.

Le délai qui raccourcit

Mandiant mesure le délai moyen avant qu’une faille soit exploitée, avant ou après son correctif : 63 jours en 2018 et 2019, 32 en 2021 et 2022, cinq en 2023 hors valeurs aberrantes, 47 en les gardant13. Anthropic écrit que combiner des failles en un exploit fonctionnel était l’affaire de quelques équipes spécialisées, et qu’un modèle le fait désormais avec peu d’intervention humaine1.

Ici, l’exploit a été écrit par ceux qui ont signalé la faille, et ils l’ont gardé pour eux : leur politique laisse 90 jours pour corriger, puis 45 avant d’en dire plus que l’avis public. Rien n’oblige le prochain à faire de même. L’Europe donne déjà 24 heures à un éditeur pour signaler une faille exploitée. Pour appliquer un correctif du noyau, personne ne fixe de délai à celui qui gère trois serveurs. Personne, sauf l’attaquant.

La course était difficile à gagner. Elle n’a jamais été difficile à recourir.



  1. Le billet d’Anthropic, Discovering and exploiting vulnerabilities in critical, real-world software with Claude, daté du 27 octobre 2026, section 5. La chaîne Linux commence par « After initial prompting, Claude wrote an exploit ». Le billet décrit aussi des chaînes dans Chrome, Safari, Android et Windows. ↩︎ ↩︎ ↩︎

  2. La fiche CVE-2026-98432, publiée le 15 octobre 2026 par l’équipe CVE du noyau, score CVSS 3.1 de 9,8 ajouté le 24 octobre. Versions touchées : à partir de 4.4. La date de Linux 4.4 vient de son étiquette dans le dépôt, posée par Linus Torvalds le 10 janvier 2016. ↩︎ ↩︎

  3. Le commit 079096f103fa, « tcp/dccp: install syn_recv requests into ehash table », du 2 octobre 2015. Le fichier MAINTAINERS du noyau liste Eric Dumazet parmi les mainteneurs de NETWORKING [GENERAL] et de NETWORKING [TCP]. ↩︎

  4. Le commit e3f33b0a1d89, « ipv4: free inet_opt and ireq_opt after an RCU grace period », écrit le 1er octobre 2026 et appliqué le 5 octobre : deux lignes modifiées, une ligne Reported-by au nom de Xinyang Ge, qui figure aussi parmi les contributeurs du billet d’Anthropic. ↩︎

  5. The Hacker News, article du 29 octobre 2026 mis à jour le 30 octobre. Il cite aussi un 8,1 chez SUSE et un 7,0 chez Amazon. ↩︎

  6. La fiche Red Hat et la fiche Oracle Linux de la faille, consultées le 3 novembre 2026. Oracle précise que son score est préliminaire. ↩︎

  7. MPTCP est décrit par le RFC 8684, de mars 2020. ↩︎

  8. Le bulletin RHSB-2026-016 de Red Hat : « Multipath TCP is not a required condition for this flaw ». Le message de l’équipe sécurité de Go, envoyé le 29 octobre 2026 sur golang-announce, est relayé sur oss-security ; il recommande avant tout un noyau corrigé. ↩︎ ↩︎

  9. Les notes de version de Go 1.24 pour ListenConfig, et la documentation des réglages MPTCP du noyau : enabled vaut 1 par défaut, réglage propre à chaque espace de noms réseau. ↩︎ ↩︎

  10. La fiche Ubuntu, mise à jour le 3 novembre 2026, avec sa section d’atténuation, et le billet d’Ubuntu du 2 novembre sur les noyaux en test, qui écrit que « security updates are the only appropriate mitigation ». Pour Debian, le traqueur de sécurité et l’avis DSA-6568-1 du 16 octobre. ↩︎

  11. Le catalogue KEV de la CISA, dans sa version du 30 octobre 2026, la plus récente au 3 novembre. ↩︎

  12. L’avis RHSA-2026:93412 pour RHEL 9, publié le 1er novembre 2026, avec le noyau 5.14.0-687.64.1.el9_8. ↩︎

  13. Analyse de Mandiant, publiée le 15 octobre 2024, sur 138 failles divulguées en 2023. Les auteurs précisent que leurs dates sont prudentes : les exploitations réelles commencent sans doute plus tôt. ↩︎