Threat Intelligence

CVE-2026-46300 : perte du marqueur shared-frag au coalescing skbuff, decryptage ESP en place et chaine PHP2Shell

Admin CyberAfrik 03 November 2026 10 lectures

Rapport CTI technique du 3 novembre 2026

Résumé exécutif

CVE-2026-46300 est une vulnérabilité du noyau Linux liée à une initialisation manquante dans le sous-système réseau skbuff. Lors de la coalescence de sockets, skb_try_coalesce() peut attacher des fragments paginés d'un skb source vers un skb destination sans propager le marqueur SKBFL_SHARED_FRAG. Le skb résultant contient alors des fragments externes ou adossés au cache de pages, alors que le marqueur partagé a disparu. Cette perte casse l'invariant utilisé par les écritures en place. Le chemin ESP vérifie skb_has_shared_frag() avant de décider si un skb non linéaire non cloné peut éviter skb_cow_data(). Face à un skb non marqué issu de la coalescence TCP, ESP conclut à tort que les fragments ne sont pas partagés. Il déchiffre en place des fragments adossés au cache de pages, ce qui modifie des données sans intention.

La faille figure au catalogue CISA KEV depuis le 28 octobre 2026, avec échéance de remédiation au 31 octobre 2026. La description CISA indique qu'elle peut être chaînée avec CVE-2026-109618 et CVE-2026-109619 pour implanter des webshells PHP et exécuter des commandes en tant que root. Le score CVSS est de 7.8, soit une criticité élevée. Aucune exploitation par rançongiciel n'est renseignée dans les données fournies.

Chronologie

DateÉvénement
2026-10-28Ajout de CVE-2026-46300 au catalogue CISA KEV
2026-10-31Échéance de remédiation fixée par la CISA dans le cadre de BOD 26-04
2026-11-03Rédaction du présent rapport CTI

Fiche vulnérabilité

CVE-2026-46300 | CVSS 7.8 (HIGH) | Linux Kernel, net/skbuff

Le défaut se situe dans skb_try_coalesce(). Cette fonction attache des fragments paginés du skb source vers le skb destination. Si le skb source porte SKBFL_SHARED_FRAG, le skb destination reçoit les mêmes fragments externes ou adossés au cache de pages, mais le marqueur shared-frag est perdu. La correction propage SKBFL_SHARED_FRAG lors du transfert. Le chemin de copie tailroom n'a pas besoin de ce marqueur : il copie les octets dans les données linéaires du skb destination plutôt que de transférer les descripteurs de fragments.

La conséquence directe touche le traitement ESP. Le code d'entrée ESP appelle skb_has_shared_frag() pour décider si un skb non linéaire non cloné peut ignorer skb_cow_data(). Si la coalescence TCP a déplacé des fragments partagés dans un skb non marqué, skb_has_shared_frag() renvoie faux. ESP déchiffre alors en place des fragments adossés au cache de pages. Cette écriture en place altère des données servies par le cache. La classification CWE retenue est CWE-787, écriture hors limites.

Les versions exactes affectées et corrigées ne sont pas publiées dans les données fournies. Les huit commits Git listés en Sources constituent les correctifs par branche stable, mais leur correspondance à des numéros de version précis n'est pas documentée ici.

Pour être exploitée, la faille exige un flux réseau capable d'atteindre le chemin de coalescence TCP puis le traitement ESP, avec un skb non linéaire non cloné. La chaîne décrite par la CISA démarre par l'implantation de webshells PHP via CVE-2026-109618 et CVE-2026-109619, puis aboutit à l'exécution de commandes en root. L'ajout au KEV signale une exploitation active selon la CISA. Aucun PoC public n'est détaillé dans les sources fournies.

Diagramme de la chaîne d'attaque

Chaîne d'attaque de CVE-2026-46300 (Kernel)
Chaîne d'attaque CVE-2026-46300 vers exécution root. Sources : git.kernel.org, CISA KEV, NVD.

Analyse technique

Étape 1 : compromission initiale via PHP2Shell

La chaîne documentée par la CISA commence par l'exploitation de CVE-2026-109618 et CVE-2026-109619. Ces deux failles implantent des webshells PHP sur des systèmes accessibles. On obtient une exécution de code, mais pas forcément les privilèges root. Les artefacts probables sont des fichiers PHP inattendus dans les répertoires web et des connexions vers les interfaces de gestion.

Étape 2 : coalescence TCP et perte du marqueur SKBFL_SHARED_FRAG

Sur un hôte compromis, le chemin de réception TCP peut fusionner des skb via skb_try_coalesce(). Quand la fonction transfère des fragments paginés depuis un skb portant SKBFL_SHARED_FRAG, elle ne propage pas ce marqueur. Le skb de destination contient alors des fragments partagés sans l'indicateur qui permet aux écritures en place de détecter ce partage. C'est le défaut d'initialisation décrit par la CISA et le point d'entrée technique de CVE-2026-46300.

Étape 3 : déchiffrement ESP en place et corruption du cache de pages

Le chemin ESP reçoit un skb non linéaire non cloné. Il appelle skb_has_shared_frag() pour décider si skb_cow_data() est requis. Le marqueur a été perdu lors de la coalescence, la fonction retourne faux. ESP déchiffre alors les fragments en place, y compris ceux adossés au cache de pages. La modification touche des données de fichiers servies par le cache. Elle peut corrompre du contenu ou préparer une élévation de privilèges. Les traces possibles incluent des modifications inattendues de fichiers et des incohérences entre le disque et le cache.

Étape 4 : exécution de commandes root

La CISA indique que la chaîne complète permet d'exécuter des commandes en tant que root. La corruption du cache de pages et la présence des webshells PHP fournissent le vecteur final. Les journaux système peuvent montrer des processus shell lancés par des services web, des élévations de privilèges et des commandes d'administration non planifiées.

Exposition

Les systèmes exécutant un noyau Linux affecté et traitant des flux ESP ou des segments TCP coalescés sont exposés au défaut noyau. La chaîne PHP2Shell étend l'exposition aux hôtes dont les interfaces de gestion ou les services web sont accessibles, notamment depuis Internet. La CISA demande d'évaluer l'exposition Internet de chaque actif et de respecter les directives BOD 26-04 pour les services cloud ou de cesser l'utilisation du produit si aucune atténuation n'est disponible.

Les pare-feux, appliances réseau et passerelles VPN qui combinent terminaison ESP et interfaces de gestion web sont prioritaires, car ils réunissent les deux maillons de la chaîne. Les correctifs noyau doivent être appliqués en priorité sur ces équipements.

Indicateurs de compromission

Aucun IOC public documenté à ce jour.

Pistes de détection :

  • Surveiller les journaux d'accès aux interfaces de gestion et les créations de fichiers .php inattendus.
  • Contrôler les flux ESP entrants anormaux sur des hôtes ou des ports non attendus.
  • Vérifier l'intégrité des fichiers servis par le cache de pages et les incohérences entre disque et cache.
  • Détecter les processus shell lancés par des services web et les élévations vers root.
  • Activer la journalisation noyau et surveiller les erreurs de coalescence skbuff ou les corruptions mémoire.

MITRE ATT&CK

Aucune cartographie officielle n'est fournie pour cette chaîne. Le tableau ci-dessous est une lecture analytique.

TactiqueTechniqueIDJustification
Initial AccessExploit Public-Facing ApplicationT1190La chaîne débute par l'exploitation de failles PHP2Shell sur des services exposés.
PersistenceWeb ShellT1505.003La CISA décrit l'implantation de webshells PHP.
Privilege EscalationExploitation for Privilege EscalationT1068La faille noyau est exploitée pour obtenir des privilèges root dans la chaîne.
ImpactStored Data ManipulationT1565.001Le déchiffrement ESP en place modifie des fragments adossés au cache de pages.
ExecutionUnix ShellT1059.004L'objectif final décrit par la CISA est l'exécution de commandes en root.

Remédiation : checklist opérationnelle

  1. Appliquer les correctifs noyau Linux correspondant aux huit commits Git listés en Sources, en priorité sur les hôtes exposés à Internet et traitant des flux ESP.
  2. Appliquer les correctifs des failles PHP2Shell CVE-2026-109618 et CVE-2026-109619 pour couper l'accès initial de la chaîne.
  3. Respecter l'échéance CISA BOD 26-04 du 31 octobre 2026 et les exigences de tri forensique associées.
  4. Réduire l'exposition Internet des interfaces de gestion et segmenter les services web et VPN.
  5. Rechercher les webshells PHP et les modifications de fichiers avant de patcher, puis préserver les artefacts pour la réponse à incident.
  6. Vérifier que les flux ESP légitimes sont isolés et surveillés par la détection réseau.
  7. Après application du correctif, recharger ou redémarrer les composants noyau concernés selon les procédures de l'éditeur et confirmer la version en production.

Sources

Tags : CVE-2026-46300LinuxKernelCWE-787skbuffESPPHP2ShellCISA KEV
Partager cet article