Critique
Node2Shell : la faille Brotli passe en exploitation active et entre au KEV
- Décodeur de la bibliothèque Google Brotli, corrigée dans les versions 1.2.1, 1.1.1 et 1.0.10. Via Brotli embarqué : Node.js 22.x (corrigé en 22.23.4), 24.x (24.22.1), 26.x (26.12.1) ; les branches 20.x, 23.x et 25.x sont affectées et ne recevront pas de correctif. Également cités comme exposés : .NET, Bun, Envoy Proxy, Istio, clients HTTP Python, FFmpeg, Apache Arrow, ClickHouse, extension PHP Brotli, gem Ruby "brotli".
- Oui, versions Brotli 1.2.1 / 1.1.1 / 1.0.10 et mises à jour des projets consommateurs. Microsoft a publié un correctif .NET d'urgence.
- Brotli est un algorithme de compression créé par Google, utilisé partout pour réduire la taille des données échangées sur le web. Son décodeur ne vérifiait pas correctement une valeur de retour, ce qui permet à un flux compressé malveillant de corrompre la mémoire du programme qui le décompresse. Le correctif était présent dans le dépôt public depuis février 2026 sans être publié ni documenté, et n'a été livré en version installable que la semaine dernière, ce qui laisse huit mois d'exposition silencieuse.
- Un attaquant non authentifié peut provoquer un crash (déni de service), lire des fragments de mémoire du processus (fuite d'informations) ou, dans les cas favorables, exécuter du code à distance sur le serveur. Toute application qui décompresse des données contrôlées par l'utilisateur est candidate, ce qui inclut des serveurs HTTP, des proxys et des runtimes applicatifs.
- Ce qu'il faut faire
- Inventorier les composants qui décompressent du Brotli (y compris via des dépendances transitives), reconstruire les images de conteneurs plutôt que de se contenter de redémarrer, puis vérifier que les charges en cours d'exécution utilisent bien la version corrigée. Si le correctif ne peut pas être appliqué immédiatement : bloquer les requêtes compressées en Brotli au niveau du proxy ou du pare-feu, ou désactiver le décodage Brotli. La CISA impose aux agences fédérales américaines une échéance au 10 novembre 2026.
- L'ampleur réelle de l'exploitation reste floue : un opérateur de honeypot a enregistré une tentative utilisant un exploit cassé, et une seule source (ELLIO) affirme avoir confirmé un shell sur des builds vulnérables. La présence d'un décodeur vulnérable n'implique pas exposition si l'application ne traite jamais de données Brotli non fiables.