2 min de lecture
~3 minutes
En douze mois, la communauté a baptisé quatre RCE pré-authentification du même suffixe : React2Shell, PHP2Shell, Node2Shell, Python2Shell. Quatre noms de marque pour une même mauvaise nouvelle : aucune de ces failles n’est dans votre code. Elles sont dans ce qui l’exécute, et votre scanner de dépendances ne les voit pas toujours.
Le 20 octobre, l’embargo sur deux failles du cœur de PHP a fuité. Le lendemain, les honeypots de watchTowr voyaient déjà passer des tentatives d’exploitation. Le même jour, Node.js publiait un correctif pour un décodeur Brotli, et en 48 heures le bug avait un deuxième nom (Node2Shell), puis un troisième (Python2Shell), puis une étiquette parapluie (HTTP2Shell). Quelques mois plus tôt, en décembre 2025, React2Shell avait ouvert le bal.
Ce que disent les sources
- PHP2Shell (CVE-2026-109618 et CVE-2026-109619) : deux failles du cœur de PHP, notées 9,2 en CVSS v4.0, exploitées dès le 21 octobre. Aucune configuration ne les ferme, seul le correctif et le redémarrage des workers comptent.
- Node2Shell et Python2Shell (CVE-2026-111497) : un seul décodeur Brotli, embarqué dans Node.js et dans les paquets PyPI
Brotlietbrotlicffi. Exécution de code démontrée en laboratoire, pas d’exploitation confirmée à la date du 24 octobre. - React2Shell (CVE-2025-55182) : la désérialisation du protocole Flight des React Server Components, exploitée massivement depuis décembre 2025.
La presse met tout dans le même sac. Deux de ces failles sont des incidents, deux sont encore des risques démontrés en labo, et le plan de réponse n’est pas le même.
Au Menu de la version abonnés
Au Menu de la version abonnés Substack, vous retrouvez la suite :
- le tableau comparatif des quatre failles : où est le bug, déclencheur, CVE et état d’exploitation ;
- le détail de PHP2Shell, avec les trois points qui changent la réaction et le calendrier fuite, correctifs, exploitation ;
- le côté Node.js et le côté Python, dont le chemin sortant qu’un WAF ne voit pas, et les copies de Brotli encore à corriger ;
- l’analyse STRIDE et le tableau d’impact détaillés ;
- le plan en quatre niveaux, de l’incident PHP2Shell à l’inventaire des runtimes embarqués ;
- les six points à retenir.
Le détail de chaque faille, le STRIDE et le plan de réponse partent d'abord aux abonnés Substack, avant d'être publiés intégralement ici.
📚 Quelques références pour aller plus loin
Articles lies
Orkes Conductor : une RCE sans authentification, déjà exploitée, derrière un sandbox laissé grand ouvert
Analyse de CVE-2026-58138, une RCE pré-authentification dans Orkes Conductor (3.21.21 à 3.30.1) causée par des évaluateurs GraalVM sans sandbox, ex...
23/09/2026PaperCut : 395 organisations tombent en 11 jours face à un essaim d'agents IA
Analyse de la campagne PaperCut pilotée par un essaim d'agents IA (Codex, DeepSeek) : CVE-2026-81578/82078, 440 instances compromises dans 48 pays,...
22/09/2026GitSpawn : le .git/config du dépôt exécute du code dans votre agent, avant le prompt de confiance
Analyse de GitSpawn (Manifold Security) : comment un .git/config malveillant abuse de core.fsmonitor pour exécuter du code dans sept agents de coda...
15/09/2026Hugging Face Diffusers : un bug de formatage Python nommé None.py exécutait du code à votre place
Analyse de CVE-2026-44827, CVE-2026-44513 et CVE-2026-45804 : trois failles dans Diffusers (Hugging Face) qui contournent trust_remote_code et perm...
11/08/2026Cloner ce dépôt vous appartient : quand l'injection de prompt se cache dans un enregistrement DNS
Analyse de la technique documentée par 0DIN : injection de prompt indirecte via un enregistrement DNS TXT combinée à un piège RuntimeError, aboutis...
10/08/2026