Linux - CVE-2026-98432

Date de publication :

Il s’agit d’une vulnérabilité dans la gestion des connexions TCP IPv4 du noyau Linux.

Le noyau Linux est le composant central des systèmes d’exploitation Linux, qui gère le matériel, la mémoire, les processus et la pile réseau.

Une condition de concurrence provoque un use-after-free, c’est-à-dire l’utilisation d’une zone mémoire déjà libérée. Un paquet SYN peut porter des options IPv4, comme Record Route ou Timestamp. Le noyau les stocke dans le champ ireq_opt de la socket de requête. À la fin de la poignée de main, la fonction tcp_v4_syn_recv_sock transmet ce pointeur à la socket enfant (inet_opt) sans copier l’objet. Un autre processeur peut traiter un SYN retransmis et construire un SYN-ACK avec ces mêmes options. La socket enfant peut alors être détruite par inet_sock_destruct, qui libère les options avec un simple kfree sans attendre les lecteurs RCU. La fonction ip_options_build lit ensuite la longueur des options (optlen) dans une zone libérée. Le destructeur tcp_v4_reqsk_destructor a le même défaut lors de la migration de requêtes (net.ipv4.tcp_migrate_req=1 ou programme BPF de migration). IPv6 n’est pas touché par le premier défaut. Le code vulnérable est présent depuis la version 4.4. L’attaquant n’a besoin d’aucune authentification et agit pendant le handshake, avant toute application. Il peut retenter la course autant de fois que nécessaire. Anthropic a démontré une exécution de commandes en root sur un serveur à écoute MPTCP.

Elle permet à un attaquant distant non authentifié de divulguer ou de corrompre la mémoire du noyau, ou de provoquer son plantage.

Informations

La faille est activement exploitée : Non

Un correctif existe : Oui

Une mesure de contournement existe : Oui

Risques

Exécution de code arbitraire (à distance)

Exploitation

La vulnérabilité exploitée est du type
CWE-416 : Use After Free

Détails sur l'exploitation
•   Vecteur d'attaque : Réseau
•   Complexité de l'attaque : Faible
•   Privilèges nécessaires pour réaliser l'attaque : Aucun
•   Interaction d'un utilisateur ayant accès au produit est-elle nécessaire : Non
•   L'exploitation de la faille permet d'obtenir des droits privilégiés : Oui

Preuve de concept
Une preuve de concept est disponible en sources ouvertes.

Systèmes ou composants affectés

  • Noyau Linux branche 5.10 versions antérieures à 5.10.272

  • Noyau Linux branche 5.15 versions antérieures à 5.15.223
  • Noyau Linux branche 6.1 versions antérieures à 6.1.190
  • Noyau Linux branche 6.6 versions antérieures à 6.6.159
  • Noyau Linux branche 6.12 versions antérieures à 6.12.113
  • Noyau Linux branche 6.18 versions antérieures à 6.18.56
  • Noyau Linux branche 7.2 versions antérieures à 7.2.10
  • Noyau Linux (mainline) versions antérieures à 7.3

Contournement provisoire

•   Rejeter les paquets TCP IPv4 entrants qui portent des options IP, par une règle nftables « ip hdrlength > 5 ». Le trafic entre conteneurs d’un même hôte peut contourner le filtre. Ne pas l’utiliser si le réseau repose sur des étiquettes CIPSO.
•   Désactiver MPTCP par net.mptcp.enabled=0 et redémarrer les services déjà à l’écoute en MPTCP. Cela ne retire que la condition de l’exploit démontré, car le défaut est dans le TCP IPv4 standard.
•   Pour les programmes Go 1.24 et supérieurs, définir GODEBUG=multipathtcp=0 à l’exécution ou godebug multipathtcp=0 dans go.mod. L’équipe Go juge cette mesure fragile.

Solutions ou recommandations

•   Noyau Linux branche 5.10 versions 5.10.272 et supérieures
•   Noyau Linux branche 5.15 versions 5.15.223 et supérieures
•   Noyau Linux branche 6.1 versions 6.1.190 et supérieures
•   Noyau Linux branche 6.6 versions 6.6.159 et supérieures
•   Noyau Linux branche 6.12 versions 6.12.113 et supérieures
•   Noyau Linux branche 6.18 versions 6.18.56 et supérieures
•   Noyau Linux branche 7.2 versions 7.2.10 et supérieures
•   Noyau Linux (mainline) versions 7.3 et supérieures