# Node2Shell (CVE-2026-111497) : ce que les dirigeants doivent demander à leurs développeurs

Une faille critique dans une bibliothèque de compression appelée Brotli touche Node.js et d’autres logiciels. Voici de quoi il s’agit, qui doit agir et les questions à poser à la personne qui s’occupe de votre site web ou de votre application.

- Page: https://www.cognivise.co.uk/fr/blog/faille-brotli-node2shell-faut-verifier-corriger
- Original (anglais): https://www.cognivise.co.uk/blog/node2shell-brotli-vulnerability
- Sujet: Faire vivre un logiciel
- Publié: 2026-10-29
- Mis à jour: 2026-10-29
- Auteur: Cognivise

## À retenir

- Node2Shell (CVE-2026-111497) est une faille critique du décodeur Brotli utilisé par Node.js et d’autres logiciels, avec des correctifs publiés à partir du 21 octobre 2026.
- Mettre à jour la bibliothèque système ne suffit pas : les environnements d’exécution et les applications embarquent souvent leur propre copie, et les programmes en cours d’exécution doivent être redémarrés ou redéployés.
- Demandez à vos développeurs quels environnements d’exécution vous utilisez, s’ils sont dans une version corrigée et si certains ne sont plus maintenus.
- Les rapports divergent sur la présence d’attaques : traitez la mise à jour comme urgente dans tous les cas.

Devez-vous faire quelque chose au sujet de Node2Shell ? Si votre site web, votre application ou votre API tourne sous Node.js, ou sur un logiciel qui lit des données compressées avec Brotli, oui : demandez à la personne qui s’en occupe de confirmer que la mise à jour a été faite. Si vous utilisez seulement une boutique hébergée et n’exécutez aucun code à vous, l’application des correctifs revient normalement à votre fournisseur de plateforme, mais tout ce que vous faites tourner vous-même sur mesure reste à vérifier de votre côté.

## Qu’est-ce que Node2Shell ?

Node2Shell est le surnom de CVE-2026-111497, une faille de sécurité critique notée 9,2 sur 10 sur l’échelle CVSS (le score de gravité de référence pour les vulnérabilités). Elle se trouve dans Brotli, une bibliothèque de compression. Brotli réduit la taille des contenus web pour que les pages se chargent plus vite, et les serveurs, les navigateurs et les applications l’utilisent lorsque les données sont marquées `Content-Encoding: br`.

Des chercheurs ont aussi appelé cette faille HTTP2Shell et Broccoli2Shell, si bien que les recherches renvoient des noms différents. Il s’agit du même problème.

En bref, un flux Brotli spécialement construit amène le décodeur à écrire au-delà de la fin d’un bloc de mémoire. Selon Node.js, cela peut faire planter un programme, exposer de la mémoire ou permettre à un attaquant d’exécuter son propre code. Malgré l’un de ses surnoms, la faille ne se limite pas à HTTP/2.

Node.js et Google ont publié des correctifs le 21 octobre 2026, et la divulgation publique a suivi le 22 octobre.

## Est-elle exploitée ?

Un code d’exploitation de démonstration (proof of concept) est public. Les rapports divergent sur la présence d’attaques réelles : une société de sécurité dit avoir observé des exploitations, tandis que d’autres analyses n’en avaient trouvé aucune au moment de leur publication. Traitez-la comme urgente dans tous les cas, car les attaquants agissent généralement vite dès qu’un code d’exploitation fonctionnel est public.

## Qui est concerné ?

Tout logiciel qui utilise une copie vulnérable du décodeur Brotli (versions 1.0.3 à 1.0.9, 1.1.0 et 1.2.0). Les éditeurs de sécurité citent notamment :

- **Node.js**, dans les branches 22, 24 et 26, avant les versions corrigées ci-dessous.
- **Python**, avec des bibliothèques HTTP comme urllib3, requests, httpx et aiohttp, lorsqu’un paquet Brotli vulnérable est installé.
- **.NET**, pour lequel Microsoft a publié des mises à jour d’urgence.
- **Bun**, ainsi que des environnements Java, curl, des proxys comme Envoy et certaines distributions Linux, chacun avec ses propres mises à jour.

| Logiciel | Version corrigée |
| --- | --- |
| Node.js 22 / 24 / 26 | 22.23.4 / 24.22.1 / 26.12.1 |
| Brotli (la bibliothèque C) | 1.0.10, 1.1.1 ou 1.2.1 |
| Python Brotli / brotlicffi | 1.2.1 / 1.2.1.0 |
| Bun | 1.4.4 |

Pour tout ce qui ne figure pas ici, consultez le bulletin de votre propre fournisseur. Les distributions et les autres produits livrent leurs propres versions corrigées.

## Comment un attaquant pourrait-il l’atteindre ?

En amenant votre logiciel à décompresser des données qu’il contrôle. Cela peut se produire de deux façons :

- Il envoie une requête compressée directement à votre serveur.
- Votre logiciel consulte une adresse web, ou appelle un autre service, et reçoit en retour une réponse compressée malveillante.

Les services qui servent de proxy, appellent des API externes ou acceptent des envois compressés sont ceux qui ont le plus à vérifier.

## Pourquoi la mise à jour est-elle moins simple qu’il n’y paraît ?

- **Copies intégrées.** Mettre à jour la bibliothèque Brotli de votre serveur ne corrige pas Node.js ni une application qui embarque sa propre copie. Chacun doit être mis à jour séparément.
- **Programmes en cours d’exécution.** Un service qui tourne en continu garde l’ancien code en mémoire jusqu’à son redémarrage. Les conteneurs doivent être reconstruits et redéployés.
- **Versions non maintenues.** Les branches de Node.js qui ne sont plus maintenues, comme la 18 et la 20, n’ont pas de correctif officiel. La solution consiste à passer à une branche maintenue, ce qui représente un chantier plus important qu’un simple correctif.

## Que demander à vos développeurs ?

1. **Quels environnements d’exécution et quelles bibliothèques utilisons-nous, et dans quelles versions ?** Incluez le site web, les outils d’administration, les tâches de fond et les éventuelles fonctions serverless.
2. **Lesquels lisent des données Brotli venant de l’extérieur ?** Les requêtes des clients, les envois de fichiers et les réponses d’autres services comptent tous.
3. **Ont-ils été mis à jour vers une version corrigée et redémarrés ?** « Installé » ne veut pas dire « en cours d’exécution ».
4. **Quelque chose embarque-t-il sa propre copie ?** C’est souvent le cas des conteneurs, des applications packagées et des outils livrés clés en main.
5. **Quelque chose tourne-t-il sur une version qui ne reçoit plus de correctifs ?** Si oui, demandez un plan et une date.
6. **Comment serons-nous informés de la prochaine faille ?** Une personne doit être nommément chargée de suivre les alertes de sécurité.

## Et si vous ne pouvez pas appliquer le correctif aujourd’hui ?

Des mesures provisoires réduisent le risque sans le supprimer. Les éditeurs de sécurité suggèrent de limiter ou de bloquer les requêtes Brotli entrantes au niveau de votre proxy ou de votre pare-feu, de plafonner la taille des requêtes et, pour les applications Python qui peuvent s’en passer, de désactiver la prise en charge de Brotli. Aucune de ces mesures n’empêche une réponse malveillante de revenir d’un serveur que votre propre logiciel appelle : la mise à jour reste donc la vraie solution.

## Qu’est-ce que cela dit de l’entretien d’un logiciel ?

Les mises à jour de sécurité ne sont pas un projet ponctuel. Les bibliothèques dont dépend votre logiciel évoluent sans lui, et une faille dans l’une d’elles peut toucher de nombreux produits à la fois. Quelqu’un doit être chargé de repérer ces failles et d’agir, avec des délais d’intervention convenus. Nos guides sur [ce que couvrent réellement le support et la maintenance d’une application](https://www.cognivise.co.uk/fr/blog/maintenance-applicative-support) et sur [ce que comprend un contrat de maintenance équitable](https://www.cognivise.co.uk/blog/software-maintenance-contract-guide) expliquent ce qu’il faut demander.

Si vous ne savez pas exactement sur quoi repose votre logiciel, un [audit technique](https://www.cognivise.co.uk/blog/what-is-a-technical-audit) recense les environnements d’exécution et les dépendances que vous utilisez. Si vous souhaitez que quelqu’un les tienne à jour, découvrez notre service [Support et maintenance continus](https://www.cognivise.co.uk/fr/services/support-et-maintenance) ou [contactez-nous](https://www.cognivise.co.uk/fr/contact).

## Sources

Cet article s’appuie sur les rapports d’éditeurs ci-dessous, consultés le 29 octobre 2026. Les versions et les bulletins peuvent évoluer : vérifiez l’avis de votre propre fournisseur.

- [BleepingComputer : la faille critique HTTP2Shell de Brotli entraîne des correctifs d’urgence](https://www.bleepingcomputer.com/news/security/critical-http2shell-brotli-vulnerability-triggers-emergency-patches/)
- [Qualys : Node.js corrige une faille d’exécution de code à distance dans Brotli](https://blog.qualys.com/product-tech/2026/10/23/node-js-patches-brotli-remote-code-execution-flaw-find-vulnerable-runtimes-before-attackers-do)
- [Aikido : Node2Shell et les paquets Python concernés](https://www.aikido.dev/blog/python-packages-vulnerable-node2shell-brotli-cve-2026-111497)

## À lire aussi

- [Support et maintenance continus](https://www.cognivise.co.uk/fr/services/support-et-maintenance)
- [Ce que couvrent réellement le support et la maintenance d’une application](https://www.cognivise.co.uk/fr/blog/maintenance-applicative-support)
- [Contrats de maintenance logicielle : ce que comprend un contrat équitable](https://www.cognivise.co.uk/blog/software-maintenance-contract-guide)
