📅 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.1 ajouté 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.3 au 26 octobre. Un test local a retourné RangeError: Memory limit exceeded sans 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