🔍 Contexte

Publié par Aikido Security le 26 octobre 2026, cet article détaille la vulnérabilité CVE-2026-111497, surnommée Node2Shell puis HTTP2Shell, découverte dans le décodeur Brotli de Google. La faille a été initialement divulguée par Node.js le 21 octobre 2026, avant de s’étendre à de nombreux autres écosystèmes.

🐛 Nature de la vulnérabilité

CVE-2026-111497 est une écriture hors limites (CWE-787) combinée à un retour de valeur non vérifié (CWE-252) dans la fonction DecodeBlockTypeAndLength() du décodeur Brotli. Elle affecte les versions 1.0.3 à 1.2.0 sur toutes les plateformes.

  • Un attaquant distant non authentifié peut envoyer un flux Brotli compressé malveillant
  • Conséquences : corruption mémoire, fuite de données sensibles, crash du processus, ou exécution de code arbitraire
  • L’attaque fonctionne dans les deux sens : un client malveillant peut compromettre un serveur, et un serveur malveillant peut compromettre un client
  • Score CVSS v4.0 : 9.2 (Critique)
  • La faille a été découverte par OpenAI en février mais n’avait pas été reconnue comme problème de sécurité à l’époque

🎯 Plateformes et composants affectés

  • Node.js (via Brotli intégré) — corrigé dans 22.23.4, 24.22.1, 26.12.1
  • Python (PyPI : Brotli ≤ 1.2.0, brotlicffi ≤ 1.2.0.x) — corrigé dans Brotli 1.2.1 et brotlicffi 1.2.1.0
  • .NET (System.IO.Compression) — corrigé dans 8.0.33, 9.0.22, 10.0.14, 11 RC3
  • Java (brotli4j, stacks Netty) — corrigé dans 1.24.0
  • Bun — corrigé dans 1.4.4
  • Envoy — corrigé dans 1.40.0, 1.39.3, 1.38.6, 1.37.8
  • Istio — corrigé dans 1.29.9, 1.30.6, 1.31.2
  • libbrotli — corrigé dans 1.2.1 (ou 1.0.10 / 1.1.1 pour les anciennes branches)
  • curl / libcurl — mise à jour de la dépendance Brotli requise
  • Distributions Linux : Debian 12/13, Alpine, Amazon Linux 2023 patchées ; Ubuntu, SUSE, RHEL standard non encore corrigées

🐍 Impact Python spécifique

Les packages PyPI Brotli (82,8 millions de téléchargements/mois) et brotlicffi compilent le même décodeur vulnérable. Les clients HTTP urllib3, requests, httpx, aiohttp et Scrapy activent automatiquement le décodage Brotli si ces packages sont installés, sans import explicite dans le code applicatif.

Advisories publiés : PYSEC-2026-4322 (Brotli) et PYSEC-2026-4323 (brotlicffi).

📅 Chronologie

  • 21 oct. : Divulgation Node.js, correctifs Node.js publiés
  • 22 oct. : Correctif Python publié
  • 23 oct. : Extension confirmée à d’autres langages ; correctifs libbrotli, Bun, Envoy, Istio ; OpenAI identifié comme découvreur
  • 24 oct. : Correctif Java brotli4j ; advisory Amazon Linux 2023
  • 25 oct. : Mises à jour .NET hors bande de Microsoft
  • 26 oct. : Correctifs Debian et Alpine ; images container patchées Aikido disponibles

📄 Type d’article

Article technique de type analyse de vulnérabilité et patch de sécurité, publié par le vendeur Aikido Security, visant à informer les équipes de sécurité et développeurs sur l’étendue de la faille, les versions corrigées et les mesures de mitigation disponibles.

🧠 TTPs et IOCs détectés

TTP

  • T1190 — Exploit Public-Facing Application (Initial Access)
  • T1203 — Exploitation for Client Execution (Execution)
  • T1211 — Exploitation for Defense Evasion (Defense Evasion)

IOC

  • CVEs : CVE-2026-111497 — NVD · CIRCL

⚠️ À propos de ces IOC — ils sont extraits automatiquement de l’article original le 26 octobre 2026 et n’ont pas fait l’objet d’une vérification externe. Un indicateur peut avoir été réattribué depuis : une IP de C2 peut redevenir un service légitime, un domaine sinkholé peut changer de propriétaire. Aucune garantie d’exactitude ni d’actualité — contrôlez leur validité avant tout usage opérationnel, en particulier avant de les injecter dans une blocklist ou un SIEM.


🟢 Indice de vérification factuelle : 71/100 (haute)

  • ✅ aikido.dev — source reconnue (Rösti community) (20pts)
  • ✅ 24651 chars — texte complet (fulltext extrait) (15pts)
  • ✅ 1 IOC(s) (6pts)
  • ⬜ pas d’IOC vérifié (0pts)
  • ✅ 3 TTPs MITRE identifiées (15pts)
  • ✅ date extraite du HTML source (10pts)
  • ⬜ aucun acteur de menace nommé (0pts)
  • ✅ 1/1 CVE(s) confirmée(s) (CIRCL) (5pts)

🔗 Source originale : https://www.aikido.dev/blog/python-packages-vulnerable-node2shell-brotli-cve-2026-111497