CISA relie une faille de fragmentation ESP du noyau Linux à la chaîne PHP2Shell pour obtenir root
Le 28 octobre 2026, la CISA a inscrit la CVE-2026-46300 au catalogue des vulnérabilités exploitées : une variable non initialisée dans le chemin ESP-in-TCP du noyau Linux, qui se chaîne avec les deux failles PHP2Shell pour implanter des webshells et exécuter des commandes en root. L’échéance de correction tombe le 31 octobre : patchez le noyau et cherchez les webshells sur vos serveurs PHP exposés.
28 octobre 2026. La CISA ajoute la CVE-2026-46300 à son catalogue des vulnérabilités exploitées (KEV), avec une échéance de correction fixée au 31 octobre 2026 — trois jours. 28 octobre 2026. L’entrée précise que la faille « peut être chaînée avec les CVE-2026-109618 et CVE-2026-109619 pour implanter des webshells PHP et exécuter des commandes en root ». 21 octobre 2026. Ces deux dernières failles, regroupées sous le nom PHP2Shell, avaient déjà forcé le patch immédiat de PHP. Le point qui compte : une faute d’initialisation dans le chemin ESP-in-TCP du noyau — longtemps rangée au rayon des élévations de privilèges locales — devient l’étage d’escalade d’une chaîne d’attaque web complète.
Une variable non initialisée dans le cœur d’IPsec
La CVE-2026-46300 est classée CWE-456, « missing initialization of a variable ». Le défaut vit dans le sous-système XFRM du noyau, la couche qui implémente les transformations IPsec. Plus précisément, dans le traitement des paquets ESP encapsulés dans TCP — le mode ESP-in-TCP, utilisé pour traverser les NAT quand UDP est bloqué.
La description de la CISA est technique mais précise. Lors de la coalescence des tampons de socket, le noyau ne préserve pas le marqueur de fragment partagé. Résultat : le traitement en entrée d’ESP déchiffre des fragments partagés « en place », ce qui permet une modification non intentionnelle de données adossées au cache de pages — le page cache. Concrètement, un attaquant peut corrompre la mémoire qui soutient des fichiers, un mécanisme de la même famille que Dirty Pipe, la faille de 2022 qui écrivait dans des fichiers en lecture seule.
Le KEV référence huit commits de correction dans les branches stables du noyau, ce qui indique une faille présente dans plusieurs générations de noyau et corrigée séparément sur chacune d’elles. La nature du défaut — un état mémoire corrompu au niveau du page cache — est ce qui rend la chaîne avec PHP2Shell crédible.
La chaîne : d’un site PHP compromis au root
La nouveauté du 28 octobre n’est pas la faille elle-même, mais son statut officiel d’exploitation et le lien explicite avec PHP2Shell. Jusqu’ici, la CVE-2026-46300 était documentée comme une élévation de privilèges locale : il faut déjà avoir un pied dans la machine pour l’exploiter. La CISA change la lecture en reliant la faille aux deux exécutions de code à distance de PHP.
La chaîne se lit ainsi. Un attaquant exploite CVE-2026-109618 ou CVE-2026-109619 pour obtenir une exécution de code sur un serveur web PHP non patché — c’est la porte d’entrée, non authentifiée sur Apache mod_php. Il implante alors un webshell avec les privilèges du processus PHP, généralement un utilisateur de service. Puis il exploite la CVE-2026-46300 pour transformer ce compte limité en root. Le webshell ne sert plus seulement à persister : il devient le point d’appui d’une compromission complète de la machine.
C’est un schéma classique, mais son officialisation change la priorité. Les équipes qui ont patché PHP le 21 octobre mais ont reporté la mise à jour du noyau croient avoir fermé la porte d’entrée — elles ont en réalité laissé l’étage d’escalade en place.
Dirty Frag : une famille de failles de fragmentation
La CVE-2026-46300 n’est pas isolée. Elle appartient à la famille Dirty Frag, documentée par le bulletin RHSB-2026-003 de Red Hat, qui regroupe plusieurs failles de fragmentation dans le sous-système réseau du noyau : la CVE-2026-43284 dans le chemin ESP, et la CVE-2026-46300 dans la variante ESP-in-TCP — surnommée Fragnesia.
Le chercheur Hyunwoo Kim (alias @v4bel) a publié un dépôt de référence sur GitHub, V4bel/dirtyfrag, qui décrit la classe de vulnérabilité et sa parenté avec Dirty Pipe et Copy Fail : dans tous les cas, une manipulation du page cache permet d’écrire là où le noyau ne devrait pas. La preuve de concept publique de Dirty Frag enchaîne la CVE-2026-43284 et la CVE-2026-43500 (sous-système RxRPC) pour obtenir root sur les grandes distributions Linux.
L’article de référence de ce blog sur la faille de fragmentation IPv6 notait déjà, en septembre, que trois failles de fragmentation dans le même trimestre signalaient une zone du noyau devenue un terrain de chasse. L’inscription au KEV confirme que la chasse a basculé de la recherche à l’exploitation.
Trois jours, et une analyse forensique obligatoire
L’échéance du 31 octobre est inhabituellement courte : le KEV impose en général des délais plus longs, alignés sur la directive BOD 22-01. Ici, la CISA marque la faille « Forensic triage required » au titre de la directive BOD 26-04, qui introduit une analyse forensique avant le correctif quand l’exploitation est suspectée. Autrement dit : patcher ne suffit pas, il faut d’abord déterminer si la machine a déjà été compromise.
Le périmètre concerné est large. La faille touche le noyau Linux, donc tout ce qui l’embarque : serveurs, conteneurs, appliances, hôtes de virtualisation. Un Docker ne protège pas : les conteneurs partagent le noyau de l’hôte. La question n’est pas « suis-je affecté ? » mais « quelle version de noyau tourne, et est-elle corrigée ? ».
uname -r
# Vérifiez la version, puis appliquez les mises à jour de votre distribution :
sudo apt update && sudo apt upgrade # Debian / Ubuntu
sudo dnf upgrade # Fedora / RHEL La consigne de la CISA tient en une phrase : appliquer les correctifs du noyau et, pour les services exposés, conserver les journaux avant de rebooter — l’analyse forensique exige des preuves intactes.
Verdict
Si vous faites tourner du PHP public sans avoir appliqué les correctifs du 21 octobre, traitez ce bulletin comme une urgence de niveau un : vous cumulez la porte d’entrée et l’étage d’escalade, et la CISA décrit explicitement la chaîne complète jusqu’au root. Si vous avez patché PHP mais pas le noyau, planifiez la mise à jour du noyau avant le 31 octobre et assumez le redémarrage — un noyau corrigé non chargé ne protège pas. Et si vous hébergez du PHP sur une machine partagée ou mutualisée, exigez la preuve que le noyau de l’hôte est corrigé, pas seulement le vôtre : la faille se joue en dessous des conteneurs et des machines virtuelles. La leçon de cette chaîne est moins technique que stratégique : une faille locale ne reste locale que jusqu’à ce qu’une faille distante lui fournisse le point d’appui.
Références
- CISA — Known Exploited Vulnerabilities Catalog, entrée CVE-2026-46300 (28 octobre 2026)
- CISA — BOD 26-04 : Prioritizing Security Updates Based on Risk
- GitHub — V4bel/dirtyfrag : description de la classe de vulnérabilité Dirty Frag
- Red Hat — RHSB-2026-003 « Dirty Frag »
- Linuxfabrik — Kernel Vulnerability « Dirty Frag » (CVE-2026-43284)
- Tenable — Dirty Frag (CVE-2026-43284, CVE-2026-43500) : FAQ
- ETTAYEB — PHP2Shell : deux RCE critiques touchent PHP depuis la version 5.4
- ETTAYEB — Une erreur de calcul dans la fragmentation IPv6 du noyau Linux permet d’échapper au conteneur