if ( !emtpy($headline_subheadline ) ) : ?>
Une écriture hors limites dans le décodeur Brotli de Google affecte plusieurs écosystèmes logiciels, provoquant des mises à jour de sécurité pour .NET, Node.js et deux packages Python.
endif; ?>
Une vulnérabilité dans la bibliothèque de compression Brotli de Google pourrait permettre aux attaquants d’exécuter du code arbitraire dans des applications qui utilisent un décodeur Brotli concerné pour traiter les données compressées.
Suivie comme CVE-2026-111497, la faille de haute gravité a été signalée pour la première fois dans le décodeur Brotli fourni avec Node.js. Le problème provient d’une écriture hors limites qui peut corrompre la mémoire du processus, conduisant potentiellement à l’exécution de code à distance (RCE), à la divulgation d’informations ou à un déni de service (DoS).
Le projet Node.js a divulgué la vulnérabilité le 21 octobre 2026, parallèlement aux mises à jour de sécurité pour ses gammes de versions 22.x, 24.x et 26.x. L’exposition s’est toutefois étendue au-delà de Node.js, obligeant Microsoft à publier des mises à jour de sécurité hors bande pour.NET le 25 octobre afin de traiter le même CVE dans son implémentation de décompression Brotli.
Une recherche distincte publiée par OpenSourceMalware a identifié le code de décodeur vulnérable dans les packages Python Brotli et brotlicffi. Les deux packages ont depuis reçu des versions corrigées.
Le risque dépend de la question de savoir si une application utilise un décodeur concerné pour traiter les données Brotli contrôlées par un attaquant. L’exécution de code à distance a été démontrée dans un laboratoire public de validation de principe (PoC) sur GitHub et indépendamment par la société de cybersécurité Imperva, qui a donné à la vulnérabilité son nom Node2Shell.
Les services qui décompressent les réponses HTTP ou les corps de requêtes non fiables sont particulièrement exposés. Les organisations doivent également tenir compte des environnements d’exécution et des bibliothèques regroupées dans des conteneurs et des artefacts d’application déployés, ont noté les chercheurs.
Un mauvais commutateur de bloc envoie le décodage Brotli hors des limites
Brotli est un algorithme de compression sans perte utilisé pour réduire la taille des données échangées entre les applications et les serveurs. Node2Shell trouve son origine dans la gestion par le décodeur d’une transition de type bloc non valide dans un flux compressé.
Selon le PoC GitHub, la fonction vulnérable DecodeBlockTypeAndLength() peut renvoyer une valeur d’échec ambiguë lorsqu’un flux demande un commutateur de bloc non valide. Le chemin rapide du décodeur ne parvient pas à gérer correctement cette valeur de retour, permettant au traitement de se poursuivre avec un état interne non valide. L’écriture hors limites qui en résulte peut corrompre la mémoire. La vulnérabilité combine une valeur de retour non contrôlée (CWE-252) avec une écriture hors limites (CWE-787).
Le PoC cible une version vulnérable de Node.js 24.22.0 Linux x86-64. Son exploit repose sur une disposition binaire et mémoire spécifique, et son exécution est probabiliste, nécessitant de nouvelles tentatives dans certains cas. Le référentiel démontre également que la même requête échoue avec le correctif Node.js 24.22.1. build, dont le décodeur rejette le commutateur de bloc invalide.
La faille a été découverte lors de tests de sécurité par les chercheurs en sécurité d’OpenAI Codex Khai Tran et Sylvie Mayer, qui ont signalé la faille au projet Node.js.
Les correctifs Node.js, Microsoft et Python comblent l’écart
Le projet Node.js a publié des correctifs dans les versions 22.23.4, 24.22.1 et 26.12.1. Les administrateurs doivent effectuer une mise à niveau vers la version fixe appropriée ou une mise à jour de sécurité ultérieure, reconstruire les images de conteneur affectées et redéployer les applications qui regroupent les environnements d’exécution vulnérables. Les versions Node.js en fin de vie doivent également être traitées comme affectées et migrées vers les versions prises en charge.
Les mises à jour hors bande de Microsoft du 25 octobre corrigent CVE-2026-111497 dans .NET 8,9 et 10, ainsi que .NET 11 Release Candidate 3. Les versions d’exécution correspondantes sont 8.0.33, 9.0.22 et 10.0.14, avec 11.0.0-rc.3.26522.148 pour la ligne d’aperçu. Des SDK mis à jour sont également disponibles. Les applications utilisant des déploiements autonomes ou Native AOT doivent être reconstruites et redéployées si nécessaire, car la mise à jour d’un runtime partagé ne remplacera pas à elle seule un décodeur déjà lié à un exécutable.
Les responsables de Python ont également publié des correctifs pour les packages concernés. OpenSourceMalware a identifié Brotli 1.2.1 et brotlicffi 1.2.1.0 comme versions corrigées, remplaçant les versions vulnérables jusqu’à 1.2.0 et 1.2.0.2, respectivement. Les développeurs doivent mettre à jour les dépendances et vérifier que les environnements déployés utilisent les versions corrigées.
Google a également publié des versions corrigées de sa bibliothèque Brotli, corrigeant la faille sous-jacente dans les versions 1.0.10, 1.1.1 et 1.2.1. Au moment de la publication, aucune exploitation de Node2Shell dans la nature n’avait été signalée publiquement, bien que le code de validation de principe soit disponible depuis plusieurs jours.



