Vulnérabilité exploitée à distance dans la pile TCP du noyau Linux.

La sociĂ©tĂ© Anthropic a rĂ©vĂ©lĂ© une vulnĂ©rabilitĂ© critique (CVE-2026-98432) dans la pile TCP du noyau Linux, permettant l'exĂ©cution de code Ă  distance via l'envoi de paquets spĂ©cialement formatĂ©s. Un exploit fonctionnel a Ă©tĂ© créé, permettant d'exĂ©cuter du code au niveau du noyau et d'obtenir Ă  distance les droits root dans le systĂšme. L'exploit prĂ©parĂ© est adaptĂ© Ă  l'attaque des systĂšmes avec des processus serveur acceptant des connexions via des sockets rĂ©seau, prenant en charge le protocole MPTCP (Multipath TCP). La prise en charge de MPTCP peut ĂȘtre activĂ©e pour des sockets rĂ©seau spĂ©cifiques, ce qui est fait par dĂ©faut dans la bibliothĂšque standard du langage Go Ă  partir de la version Go 1.24 (fĂ©vrier 2025).

L'exploit prĂ©parĂ© peut ĂȘtre utilisĂ© avec n'importe quelle application serveur en Go, y compris le serveur HTTP Caddy, si des paquets rĂ©seau peuvent ĂȘtre envoyĂ©s au socket d'Ă©coute créé par ces applications. Étant donnĂ© que la vulnĂ©rabilitĂ© se trouve directement dans la pile IPv4 et n'est pas spĂ©cifique Ă  MPTCP, il n'est pas exclu de crĂ©er des exploits fonctionnant sans lien avec MPTCP, bien que de tels exploits n'aient pas encore Ă©tĂ© dĂ©montrĂ©s. Par exemple, l'exploitation de la vulnĂ©rabilitĂ© peut ĂȘtre possible lors du traitement des requĂȘtes de migration de sockets, accessible dans des configurations avec le paramĂštre net.ipv4.tcp_migrate_req=1 ou lors de l'utilisation de programmes eBPF avec l'option BPF_SK_REUSEPORT_SELECT_OR_MIGRATE.

La vulnĂ©rabilitĂ© est causĂ©e par une condition de course qui survient lors du traitement simultanĂ© de requĂȘtes SYN retransmises lors de l'Ă©tablissement d'une connexion TCP. Comme la fonction tcp_v4_syn_recv_sock() transmet au socket enfant des paramĂštres provenant de la structure ireq->ireq_opt par rĂ©fĂ©rence, et non par copie, dans certaines circonstances, une situation se produit oĂč la mĂ©moire des structures inet_opt et ireq_opt avec les paramĂštres du socket a dĂ©jĂ  Ă©tĂ© libĂ©rĂ©e, mais les options de socket associĂ©es continuent d'ĂȘtre utilisĂ©es (use-after-free).

L'exploitation Ă  distance se fait par l'envoi d'une sĂ©rie de requĂȘtes rĂ©seau synchronisĂ©es dans le temps. L'exploit créé est Ă©galement applicable aux noyaux qui utilisent la randomisation des adresses (KASLR), mais atteindre la fenĂȘtre d'Ă©tat de course prend beaucoup de temps et nĂ©cessite de nombreuses tentatives. L'exploitation est facilitĂ©e par le fait que ne pas atteindre la fenĂȘtre d'Ă©tat de course entraĂźne uniquement une rĂ©initialisation de la session d'Ă©tablissement de connexion (handshake), et non un crash du noyau, ce qui permet de continuer indĂ©finiment Ă  essayer. Dans le prototype de l'exploit créé, l'attaque a durĂ© environ une heure : 48 minutes pour dĂ©terminer la disposition de la mĂ©moire et encore 5 minutes pour organiser l'exĂ©cution du code.

Aucune solution garantissant le blocage des vulnĂ©rabilitĂ©s n'a encore Ă©tĂ© prĂ©sentĂ©e — la seule option fiable proposĂ©e est de mettre Ă  jour le noyau. Le problĂšme apparaĂźt Ă  partir de la version 4.4 du noyau Linux et a Ă©tĂ© rĂ©solu dans les versions 5.10.272, 5.15.223, 6.1.190, 6.6.159, 6.12.113, 6.18.56, 7.2.10 et 7.3. Le statut de la correction des vulnĂ©rabilitĂ©s dans les distributions peut ĂȘtre Ă©valuĂ© sur les pages suivantes : Debian, Ubuntu, SUSE/openSUSE, RHEL, Gentoo, Arch,
Fedora.

Parmi les recommandations pour contrer les méthodes d'exploitation spécifiques qui ne bloquent pas la vulnérabilité de maniÚre générale, on peut citer la désactivation du support MPTCP et le paramÚtre sysctl du noyau net.ipv4.tcp_migrate_req défini sur 0 :

sysctl -w net.mptcp.enabled=0
sysctl -w net.ipv4.tcp_migrate_req=0

Pour vérifier la présence de processus utilisant des sockets avec
MPTCP, les commandes suivantes peuvent ĂȘtre utilisĂ©es :

ip mptcp endpoint show
ip mptcp limits show

Pour dĂ©sactiver le support MPTCP dans les programmes en Go, il convient d'utiliser le drapeau «multipathtcp=0», que l'on peut dĂ©finir en utilisant la variable d'environnement «GODEBUG=multipathtcp=0». Pour dĂ©sactiver le support MPTCP lors de la compilation, il suffit d'ajouter «godebug multipathtcp=0» au fichier avec le module go.mod. Dans le code de l'application, l'utilisation de MPTCP peut ĂȘtre dĂ©sactivĂ©e via les fonctions net.Dialer.SetMultipathTCP et net.ListenConfig.SetMultipathTCP.

En plus du problÚme examiné, Anthropic a également annoncé une série de vulnérabilités exploitables localement dans le noyau Linux, OpenBSD et FreeBSD, permettant d'obtenir des droits root dans le systÚme et de sortir des conteneurs isolés; des vulnérabilités dans Chrome et Safari, conduisant à l'exécution de code dans le systÚme lors de l'ouverture de pages web spécialement conçues; une vulnérabilité dans le noyau Windows provoquant un crash; une vulnérabilité sur la plateforme Android permettant de contourner le verrouillage de l'écran et d'accéder à des informations personnelles et des photos sans déverrouillage de l'appareil (attaque démontrée sur le smartphone Google Pixel 9).

La vulnérabilité a été confirmée dans de nombreuses images officielles Docker, y compris les images couchbase, elasticsearch, flink, solr, storm, etc.

  • Dans nginx, la possibilitĂ© d'activer l'option IPPROTO_MPTCP pour le socket rĂ©seau Ă  l'Ă©coute est disponible depuis la version 1.29.7, mais n'est pas appliquĂ©e par dĂ©faut.
  • Dans Lighttpd, l'option pour activer MPTCP est disponible depuis la version 1.4.76.
  • Dans Apache httpd, des correctifs pour le support de MPTCP ont Ă©tĂ© ajoutĂ©s Ă  la branche Apache httpd 2.5-HEAD en 2024.
  • Dans systemd, le support pour activer MPTCP sur activation par socket a Ă©tĂ© ajoutĂ© dans la version 257.
  • Dans Apache Traffic Server, l'option pour activer MPTCP est supportĂ©e depuis la version 9.2.4.
  • Dans HAProxy, l'option « mptcp{,4,6}@
    » est disponible depuis la version 3.1.0.
  • Dans Traefik, le drapeau IPPROTO_MPTCP est activĂ© par dĂ©faut Ă  partir des versions 2.11.26, 3.4.2 et v3.5.0-rc1.
  • Dans la base de donnĂ©es Valkey, l'option « --mptcp » et les configurations « mptcp yes » et « repl-mptcp yes » sont disponibles depuis la version 9.0.0.

Source : opennet.ru

Acheter un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS đŸ”„ Acheter un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster