📅 Source : OpenSourceMalware.com, publié le 24 octobre 2026. Cet article de recherche documente l’étendue de la vulnérabilité CVE-2026-111497, surnommée « Brotlipocalypse », découverte dans le décodeur de l’algorithme de compression Google Brotli.
🔍 Nature de la vulnérabilité
CVE-2026-111497 est un buffer overflow (écriture hors limites) dans le fichier c/dec/decode.c du décodeur Brotli, affectant les versions 1.0.3 à 1.2.0. Lorsqu’un flux demande un changement de type de bloc non autorisé, le décodeur répond « besoin de plus d’entrée » au lieu de signaler une erreur, ce qui provoque des écritures au-delà d’un buffer interne de 8 octets. La vulnérabilité est associée aux CWEs CWE-252 (Unchecked Return Value) et CWE-787 (Out-of-bounds Write), avec un score de sévérité 9.4 sur CVE v4. Elle a été divulguée par OpenAI Codex Security. Le commit de correction (0ed4268a) a été publié sur google/brotli le 27 février 2026, sans advisory, et est resté public pendant 8 mois avant d’être identifié comme correctif de sécurité.
⚠️ Périmètre d’impact
La vulnérabilité ne touche que le décodeur (pas le compresseur). Elle affecte tout projet ayant intégré une copie du code source Brotli :
- Node.js, Bun, PyPI (
brotli,brotlicffi) - Bazel Central Registry (5 modules non corrigés au 24 octobre)
- Cloudflare workerd (pinné sur
brotli@1.2.0.bcr.3) - DuckDB (embarque Brotli 1.1.0 pour les fichiers Parquet)
- Extensions natives pour Ruby, PHP, Java, Rust, Perl
- Navigateurs : Chrome < 148, Firefox < 150 / ESR < 140.10, Electron < 42
- Envoy, Unity Mono fork
🛠️ Projets ayant déjà corrigé
| Projet | Version corrigée |
|---|---|
| Node.js | 22.23.4, 24.22.1, 26.12.1 |
| Bun | 1.4.4 |
| PyPI Brotli | 1.2.1 |
| PyPI brotlicffi | 1.2.1.0 |
| Perl IO::Compress::Brotli | 0.023 |
| andybalholm/brotli (Go) | v1.2.7 |
| Chrome / Firefox / Electron | 148+ / 150+ / 42+ |
| Envoy | dernière version patch |
📌 Cas notables
- Bazel : module
brotli@1.2.1ajouté au registre le 26 octobre (PR #11360), mais les 5 anciens modules restent disponibles sans mise à jour automatique. - Cloudflare workerd : production déjà patchée selon Mark Dembo, mais le dépôt open source reste sur
brotli@1.2.0.bcr.3au 26 octobre. Un test local a retournéRangeError: Memory limit exceededsans crash. - DuckDB : issue #27660 ouverte le 22 octobre, PR #27791 en attente de review. PostHog a déjà patché son fork DuckDB.
📰 Cet article est une publication de recherche CTI visant à documenter l’étendue réelle de la vulnérabilité CVE-2026-111497 dans l’écosystème open source, en fournissant des méthodes de détection et un état des correctifs par projet.
🧠 TTPs et IOCs détectés
TTP
- T1190 — Exploit Public-Facing Application (Initial Access)
- T1203 — Exploitation for Client Execution (Execution)
- T1195.001 — Supply Chain Compromise: Compromise Software Dependencies and Development Tools (Initial Access)
IOC
- CVEs :
CVE-2026-111497— NVD · CIRCL - Fichiers :
decode.c - Fichiers :
decode.cpp - Chemins :
c/dec/decode.c - Chemins :
c/include/brotli/decode.h
⚠️ À 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 : 75/100 (haute)
- ✅ opensourcemalware.com — source reconnue (liste interne) (20pts)
- ✅ 12881 chars — texte complet (fulltext extrait) (15pts)
- ✅ 5 IOCs (IPs/domaines/CVEs) (10pts)
- ⬜ 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://opensourcemalware.com/blog/brotlipocalypse