Les développeurs et les grandes entreprises technologiques ont publié des correctifs de sécurité d'urgence pour remédier à une vulnérabilité extrêmement critique connue sous le nom de HTTP2Shell (suivie sous l'identifiant CVE-2026-111497 et également connue sous les noms de Node2Shell et Broccoli2Shell), qui affecte la bibliothèque de décompression écrite en C appelée Brotli, intégrée dans l'environnement Node.js et de nombreuses autres plateformes logicielles.
Cette vulnérabilité touche les versions de Brotli de 1.0.3 à 1.0.9, ainsi que les versions 1.1.0 et 1.2.0. Le problème a été signalé sous plusieurs noms car il a d'abord été découvert dans l'environnement Node.js avant qu'il ne devienne évident que le même défaut dans le décompresseur Brotli affectait des logiciels dans divers environnements technologiques.
Portée de l'impact et systèmes touchés
Bien que le nom HTTP2Shell reflète son impact potentiel sur les clients et les serveurs du protocole HTTP, la vulnérabilité ne se limite pas au seul HTTP/2, mais s'étend à toute application s'appuyant sur la décompression de données Brotli contrôlées par des attaquants. Les applications potentiellement concernées comprennent :
- Le célèbre environnement d'exécution Node.js.
- Les bibliothèques HTTP pour Python telles que urllib3, requests, httpx et aiohttp lorsqu'elles sont configurées pour fonctionner avec un décompresseur Brotli vulnérable.
- Des mises à jour de sécurité d'urgence déployées par Microsoft pour contrer la vulnérabilité sur la plateforme .NET, dans la mesure où son exploitation permet une élévation de privilèges sur les systèmes infectés.
Mécanisme d'exploitation et impacts techniques
La vulnérabilité réside dans un défaut de dépassement de tampon (Buffer Overflow), où un flux de données Brotli spécialement conçu déclenche un processus de permutation de blocs invalides que le décompresseur traite comme valides et interprète à tort comme une demande de saisie supplémentaire. En continuant à ajouter des octets d'entrée dans un tampon interne de huit octets, l'écriture dépasse ses limites autorisées et corrompt la mémoire adjacente.
Des rapports techniques publiés par la société de cybersécurité Imperva ont indiqué que l'exploitation réussie de cette vulnérabilité pouvait entraîner des pannes de processus, la divulgation de contenus mémoriels sensibles, voire l'exécution de code à distance (RCE).
Qu'est-ce qui change concrètement et comment y remédier ?
Bien qu'il n'y ait pas de rapports actuels confirmant l'exploitation de la vulnérabilité dans des cyberattaques réelles, la mise à disposition de preuves de concept (PoC) pour l'exploitation appelle à une action rapide de la part des administrateurs système et des développeurs.
- Mises à jour immédiates : Des versions actualisées ont été rendues disponibles pour corriger le défaut dans Google Brotli (1.0.10, 1.1.1 et 1.2.1), Node.js (versions 22.23.4, 24.22.1 et 26.12.1), ainsi que dans les bibliothèques Python vulnérables.
- Mesures supplémentaires : Après l'installation des correctifs, les administrateurs doivent redémarrer les processus concernés, reconstruire les images de conteneurs (Containers) et les déployer à nouveau.
- Solutions de contournement temporaires : Si une mise à jour immédiate est impossible, il est conseillé de supprimer complètement le support de Brotli dans les applications Python et de bloquer les requêtes Brotli entrantes au niveau du proxy ou du pare-feu.