Threat Intelligence

CVE-2026-53362 : un mauvais calcul de fraggap dans l'IPv6 du noyau Linux ouvre la voie à l'élévation de privilèges locale

Admin CyberAfrik 28 August 2026 53 lectures
CVE-2026-53362 : un mauvais calcul de fraggap dans l'IPv6 du noyau Linux ouvre la voie à l'élévation de privilèges locale

Rapport CTI technique du 28 août 2026

Résumé exécutif

CISA a ajouté CVE-2026-53362 à son catalogue des vulnérabilités activement exploitées le 27 août 2026, aux côtés de deux autres failles fraîches (JFrog Artifactory et une faille ownCloud plus ancienne réactivée). Il s'agit d'une vulnérabilité d'écriture hors limites dans la pile réseau IPv6 du noyau Linux, notée 7.8 sur l'échelle CVSS par Red Hat, exploitable par un utilisateur local non privilégié pour corrompre la mémoire noyau via un simple socket UDPv6.

Le point qui distingue ce cas d'une faille noyau ordinaire est la simplicité du prérequis d'accès : aucune capacité particulière, aucune position réseau spécifique, seulement l'ouverture d'un socket UDPv6 et l'envoi de messages combinant deux drapeaux standards. Sur les environnements multi-utilisateurs, les hôtes de conteneurs partagés et tout système exécutant du code non fiable pour des utilisateurs non-root, cette faible barrière d'entrée en fait une cible prioritaire pour l'escalade de privilèges post-compromission initiale.

Chronologie

DateÉvénement
Date non précisée (2026, avant juillet)Introduction du défaut par le commit 773ba4fe9104 ("ipv6: avoid partial copy for zc"), rendu atteignable par le commit ce650a166335
4 juillet 2026Publication de CVE-2026-53362 dans la base NVD
Courant août 2026Publication du bulletin de sécurité Red Hat RHSB-2026-009 avec score CVSS 7.8
27 août 2026CISA ajoute CVE-2026-53362 au catalogue KEV sur la base d'une exploitation active confirmée

Fiche vulnérabilité (format fiche CTI)

CVE-2026-53362 | CVSS 3.1 : 7.8 (Red Hat), vecteur AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H | Noyau Linux, sous-système réseau IPv6 (fonction __ip6_append_data)

Description technique : la fonction __ip6_append_data() construit les fragments de paquets IPv6 sortants. Dans la branche d'allocation paginée utilisée pour les envois combinant MSG_MORE, NETIF_F_SG et de grandes longueurs de fragments, le calcul de alloclen (taille allouée pour la zone linéaire du socket buffer) omet de prendre en compte le fraggap, c'est-à-dire les octets reportés du fragment précédent, alors que pagedlen en tient compte côté données à copier. Il en résulte une zone linéaire sous-dimensionnée exactement de la taille de ce fraggap, tandis que la copie continue d'écrire la quantité de données prévue. L'écriture déborde alors de skb->end et vient corrompre la structure skb_shared_info qui suit immédiatement en mémoire, une zone contenant notamment des compteurs de référence et des pointeurs de destructeur exploités par le reste de la pile réseau. Red Hat classe le défaut sous CWE-130 (gestion incorrecte d'une incohérence de paramètre de longueur), cohérent avec cette description d'un mauvais calcul arithmétique plutôt que d'une simple absence de vérification de borne.

Conditions d'exploitation : un utilisateur local sans privilège particulier ouvre un socket UDPv6 et effectue des appels sendmsg() combinant les drapeaux MSG_MORE et MSG_SPLICE_PAGES, en calibrant la taille des messages pour forcer la branche d'allocation paginée tout en produisant un fraggap non nul sur les fragments suivants. Aucune interaction utilisateur ni élévation de privilège préalable n'est nécessaire ; le vecteur d'attaque est purement local (AV:L), avec une complexité d'attaque faible (AC:L) selon Red Hat.

PoC disponible : aucun exploit public n'a été identifié dans les sources consultées à la date de rédaction. L'ajout au catalogue KEV de CISA repose sur une évidence d'exploitation active dont les détails opérationnels n'ont pas été publiés.

Patch/mitigation : appliquer les correctifs noyau amont portant les identifiants de commit 14200d4, 46f201f, 6374fb9, 65fb14c, 736b380 et e9eacf1, qui alignent le calcul de la branche paginée sur celui de la branche non paginée en ajoutant fraggap à alloclen et en le retranchant de pagedlen. À défaut de patch immédiat, désactiver IPv6 sur les systèmes qui n'en ont pas l'usage (sysctl -w net.ipv6.conf.all.disable_ipv6=1) élimine le chemin de code vulnérable, au prix évident de la perte de toute connectivité IPv6.

Diagramme de la chaîne d'attaque


Reconstitution basée sur l'analyse technique de SentinelOne, le bulletin Red Hat RHSB-2026-009 et les métadonnées CISA KEV.

Analyse technique

Étape 1 : introduction du défaut dans la branche d'allocation paginée

Le commit 773ba4fe9104 ("ipv6: avoid partial copy for zc") modifie la gestion de la copie de données dans __ip6_append_data() pour éviter des copies partielles lors de l'utilisation de zero-copy. Ce changement introduit une divergence de traitement entre la branche d'allocation paginée (utilisée avec MSG_MORE, NETIF_F_SG et de grands fragments) et la branche non paginée, sans que cette divergence soit immédiatement exploitable.

Étape 2 : le défaut devient atteignable

Un second commit, ce650a166335 ("udp6: Fix __ip6_append_data()'s handling of MSG_SPLICE_PAGES"), modifie le traitement de MSG_SPLICE_PAGES de manière à rendre la branche vulnérable effectivement accessible depuis l'espace utilisateur via un socket UDPv6 standard, sans qu'aucun correctif ne vienne combler l'écart d'accounting du fraggap à ce stade.

Étape 3 : déclenchement de l'écriture hors limites

Un processus non privilégié ouvre un socket UDPv6 et enchaîne des appels sendmsg() avec MSG_MORE pour construire un message en plusieurs morceaux, puis utilise MSG_SPLICE_PAGES pour insérer des pages de données directement. En calibrant la taille de ces envois, l'attaquant force le noyau à emprunter la branche d'allocation paginée tout en générant un fraggap non nul sur un fragment intermédiaire. La zone linéaire allouée pour ce fragment est alors plus petite de fraggap octets que ce que le code s'apprête à y copier.

Étape 4 : corruption de la structure skb_shared_info

La copie déborde de skb->end et écrase les premiers octets de skb_shared_info, une structure de métadonnées associée au buffer réseau (skb) qui suit immédiatement en mémoire. Cette structure contient des champs sensibles, notamment des compteurs de référence sur les fragments et des pointeurs utilisés lors de la libération ou du traitement ultérieur du paquet, ce qui en fait une cible de choix pour transformer une simple corruption en primitive exploitable.

Étape 5 : de la corruption mémoire à l'élévation de privilèges

Une fois skb_shared_info corrompue de façon contrôlée, un attaquant disposant d'une connaissance suffisante de la disposition mémoire du noyau ciblé peut manipuler des pointeurs de destructeur ou des compteurs de référence pour obtenir une primitive de lecture ou d'écriture mémoire plus générale, point de départ classique vers une élévation de privilèges locale complète ou, à défaut d'exploitation aboutie, un déni de service par panique noyau. Les sources publiques disponibles ne détaillent pas de chaîne d'exploitation complète allant jusqu'à l'obtention de privilèges root ; l'ampleur exacte de l'exploitation active signalée par CISA reste à ce jour non documentée publiquement.

Indicateurs de compromission

TypeValeur
Message noyauPanique noyau ou message BUG: référençant une corruption de skb_shared_info ou une écriture hors limites en zone slab dans __ip6_append_data
Détection KASANRapports KASAN signalant une écriture hors limites dans le chemin de sortie IPv6 lors de trafic UDPv6 utilisant MSG_SPLICE_PAGES
Comportement anormalCrashs de processus inexpliqués ou traces de corruption mémoire provenant de processus locaux utilisant des sockets UDPv6
Version noyau vulnérableToute version contenant le commit 773ba4fe9104 sans les correctifs 14200d4 et suivants

Aucun indicateur réseau n'est publié pour cette vulnérabilité : l'exploitation est strictement locale et ne laisse pas de trace dans le trafic réseau observable depuis l'extérieur de l'hôte.

MITRE ATT&CK

TactiqueTechniqueIDJustification
Privilege EscalationExploitation for Privilege EscalationT1068Exploitation d'une faille noyau locale pour élever les privilèges depuis un compte utilisateur non privilégié
ImpactEndpoint Denial of ServiceT1499Corruption mémoire pouvant provoquer une panique noyau en cas d'exploitation ratée ou d'utilisation à des fins de déni de service

Cette cartographie est une lecture technique minimale construite à partir de la nature de la vulnérabilité ; aucune cartographie officielle ATT&CK n'a été publiée par un vendeur ou une agence gouvernementale pour ce CVE spécifique, et aucun détail public ne documente d'éventuelles techniques de découverte ou de mouvement latéral associées à son exploitation en conditions réelles.

Remédiation : checklist opérationnelle

  1. Identifier les versions de noyau Linux déployées contenant le commit 773ba4fe9104 sans les correctifs de la série 14200d4 à e9eacf1.
  2. Appliquer en priorité les mises à jour noyau sur les systèmes multi-utilisateurs, les hôtes de conteneurs partagés et tout environnement exécutant du code non fiable pour des comptes non-root.
  3. Sur les systèmes ne nécessitant pas IPv6, désactiver le protocole via sysctl en attendant le déploiement du correctif, en gardant à l'esprit l'impact sur la connectivité.
  4. Déployer une détection basée sur KASAN dans les environnements de test et de préproduction pour identifier toute régression liée au même chemin de code.
  5. Mettre en place une surveillance centralisée du buffer noyau (dmesg) avec alerte sur toute occurrence de BUG:, oops ou message KASAN référençant __ip6_append_data ou skb_shared_info.
  6. Instrumenter, via auditd ou une sonde eBPF, les appels sendmsg() combinant MSG_MORE et MSG_SPLICE_PAGES sur des sockets UDPv6 émis par des utilisateurs non privilégiés.
  7. Maintenir un inventaire à jour des versions de noyau du parc et signaler automatiquement tout hôte fonctionnant sur une version antérieure aux commits correctifs.
  8. Restreindre, via des profils seccomp ou équivalent, les combinaisons de drapeaux sendmsg() disponibles aux processus non fiables lorsque l'architecture de l'application le permet.

Sources

Tags : CVE-2026-53362noyau LinuxIPv6élévation de privilèges localeCISA KEVCWE-130Red Hatexploitation active
Partager cet article