HTTP2Shell : correctifs d'urgence pour la faille Brotli de Node.js et .NET
La faille HTTP2Shell du décodeur Brotli a déclenché une série de correctifs d'urgence, de Node.js et Python jusqu'à .NET chez Microsoft. Toute application qui décompresse des données Brotli venues de l'extérieur peut être exposée.

Les détails d’une faille du décodeur Brotli ont été rendus publics le 22 octobre, et les correctifs continuent d’arriver. Dimanche, Microsoft a publié une mise à jour de sécurité d’urgence pour .NET. Ce lundi 26 octobre, BleepingComputer fait le point en s’appuyant sur l’avis de Node.js et sur un rapport de la société Imperva. La vulnérabilité, suivie sous l’identifiant CVE-2026-111497, circule sous trois noms : HTTP2Shell, Broccoli2Shell et Node2Shell. Ce média est à ce stade notre seule source : les éléments sur la gravité sont donc rapportés tels qu’il les présente.
Un tampon de huit octets qui déborde
Brotli est une bibliothèque open source de compression sans perte, développée et maintenue par Google. Le défaut se trouve dans son décodeur écrit en C. Un flux compressé spécialement construit provoque un changement de bloc invalide. Au lieu de le traiter comme une erreur de format définitive, le décodeur l’interprète comme un besoin temporaire de données supplémentaires. En mode flux, il continue alors d’ajouter des octets dans un tampon interne de huit octets, et l’écriture déborde sur la mémoire voisine.
D’après l’avis de Node.js, les conséquences iraient du plantage du processus à l’exposition de mémoire, jusqu’à l’exécution de code à distance. Le rapport d’Imperva confirmerait cette dernière possibilité. Pour .NET, Microsoft avertit qu’une exploitation réussie permet une élévation de privilèges sur les systèmes vulnérables. Des preuves de concept ont été publiées, mais aucune exploitation malveillante n’a été signalée à ce jour.
Les versions à installer
La bibliothèque est vulnérable dans ses versions 1.0.3 à 1.0.9, 1.1.0 et 1.2.0. Les versions corrigées sont les suivantes :
- Brotli (Google) : 1.0.10, 1.1.1 et 1.2.1 ;
- Node.js : 22.23.4, 24.22.1 et 26.12.1 ;
- paquet Python Brotli : 1.2.1 ;
- paquet Python brotlicffi : 1.2.1.0.
La source ne précise pas les versions de .NET couvertes par le correctif de Microsoft : il faut se reporter à l’avis de l’éditeur. Côté calendrier, les correctifs ont été intégrés au code source de Brotli dès février. Les versions stables de Node.js et de Google ne sont toutefois sorties que le 21 octobre, la divulgation publique a suivi le lendemain, et les paquets PyPI corrigés sont disponibles depuis le 23 octobre.
Après la mise à jour, il faut redémarrer les processus concernés, puis reconstruire et redéployer les images de conteneurs touchées.
Pourquoi une seule bibliothèque touche autant d’environnements
Malgré son nom, HTTP2Shell n’est pas propre à HTTP/2. Toute application qui décompresse des données Brotli contrôlées par un attaquant peut être visée. La source décrit deux voies d’attaque. Dans la première, l’application va chercher une URL et reçoit une réponse HTTP compressée et piégée. Dans la seconde, l’attaquant envoie directement une requête compressée à un serveur.
C’est ce qui explique la multiplication des noms. La faille a d’abord été identifiée dans Node.js, qui intègre le décodeur C de Brotli. Les chercheurs ont ensuite constaté que le même défaut pouvait toucher d’autres écosystèmes. Côté Python, les clients HTTP urllib3[brotli], requests, httpx et aiohttp[speedups] sont potentiellement concernés lorsqu’ils s’appuient sur un décodeur Brotli vulnérable.
Le principal piège vient des copies embarquées. Un portail consacré au suivi de la faille prévient que la mise à jour de la bibliothèque Brotli du système ne protège ni Node.js, ni les applications qui embarquent leur propre exemplaire de la bibliothèque. Chaque environnement doit donc être vérifié séparément.
Si la mise à jour doit attendre
Si la mise à jour ne peut pas être faite tout de suite, la recommandation est de retirer la prise en charge de Brotli des applications Python et de bloquer les requêtes entrantes compressées en Brotli au niveau du proxy ou du pare-feu. La seconde mesure a une limite. Elle laisse ouverte la voie des réponses HTTP malveillantes, celle qui atteint une application lorsque c’est elle qui va chercher une URL.
Le correctif attendait dans le dépôt de Brotli depuis février. Reste maintenant à savoir combien de copies de la bibliothèque sont présentes dans vos images de conteneurs.
Sources (1)
- Critical 'HTTP2Shell' Brotli vulnerability triggers emergency patchesbleepingcomputer.com
Article rédigé avec l'assistance d'une IA à partir des sources citées, puis relu et validé avant publication par Sébastien Soulier.


