Brotli : dépassement de tampon dans le décodeur (CVE-2026-111497, CVSS v4 9,2), corrigé par Debian 12 et 13, Node.js, .NET et PHP Windows
Le décodeur Brotli peut être corrompu par un flux compressé piégé : plantage, fuite mémoire, voire exécution de code à distance sans authentification (CVSS v4 9,2). Debian 12 et 13, Node.js, .NET et PHP pour Windows ont publié un correctif ; AlmaLinux et Plesk Linux sont à vérifier. Pas d'exploitation confirmée au 27/10.
par Frédéric Vagner · publié le
- Sévérité
- Critique CVSS 9,2 / 10
- CVE
- CVE-2026-111497
- Produits
- DebianPHPAutres Linux
- Versions touchées
- Brotli 1.0.3 à 1.2.0 (bibliothèque libbrotli, Node.js 22 / 24 / 26, .NET, PHP Windows avec cURL)
- Versions corrigées
- Brotli 1.0.10 / 1.1.1 / 1.2.1 — Debian 12 : brotli 1.0.9-2+deb12u1 (DLA-4855-1) — Debian 13 : brotli 1.1.0-2+deb13u1 (DSA-6582-1) — Node.js 22.23.4 / 24.22.1 / 26.12.1 — .NET 8.0.33 / 9.0.22 / 10.0.14 — PHP Windows 8.5.12-1 / 8.4.27-1 / 8.3.36-1 / 8.2.35-
- Correctif
- Correctif disponible
- Source
- security-tracker.debian.org ↗
Publiée le 22 octobre 2026, CVE-2026-111497 touche le décodeur de Brotli (fichier c/dec/decode.c, versions 1.0.3 à 1.2.0 de Google Brotli) : un flux compressé spécialement construit permet à un attaquant distant, sans authentification, de corrompre la mémoire voisine du décodeur, de lire des données en mémoire, de provoquer un déni de service ou, potentiellement, d'exécuter du code. Le score CVSS v4 de 9,2 (critique) est celui du CNA Google repris par le NVD ; le NVD n'a pas encore publié son propre score. Les correctifs amont sont Brotli 1.0.10, 1.1.1 ou 1.2.1.
Qui est concerné ?
Tout programme qui décompresse du Brotli fourni par un tiers : clients et serveurs HTTP utilisant Content-Encoding: br (cURL, modules de décompression ou de compression Brotli de serveurs web, proxys), applications Node.js (node:zlib), applications .NET et PHP pour Windows (extension cURL lorsque la décompression automatique est activée, ce qui n'est pas le cas par défaut). Sur un hébergement mutualisé, le risque vient des sites qui appellent des API ou des pages externes et décompressent leur réponse.
Disponibilité des correctifs
| Source | État au 27/10/2026 |
|---|---|
| Debian 12 (bookworm) | Corrigé : brotli 1.0.9-2+deb12u1 (DLA-4855-1) |
| Debian 13 (trixie) | Corrigé : brotli 1.1.0-2+deb13u1 (DSA-6582-1) |
| Debian : nodejs, python-brotlicffi | Ces paquets utilisent la bibliothèque Brotli du système ; le tracker les classe « sans importance » pour cette CVE (corriger libbrotli1 suffit) |
| Node.js | Corrigé le 21/10 : 22.23.4, 24.22.1, 26.12.1 (le décodeur est embarqué dans Node.js ; voir l'article dédié aux dix failles de cette série) |
| .NET | Corrigé le 25/10 : 8.0.33, 9.0.22, 10.0.14 et 11.0 RC3 (CERT-FR CERTFR-2026-AVI-1382). PowerShell 7.4.22, 7.5.13 et 7.6.9 et Visual Studio sont aussi concernés (AVI-1383) |
| PHP pour Windows | Corrigé le 26/10 : builds 8.5.12-1, 8.4.27-1, 8.3.36-1 et 8.2.35-1 avec Brotli 1.2.1 (même code source PHP, seul le suffixe -1 change) |
| AlmaLinux 8 / 9 / 10 | À confirmer : aucun billet du blog AlmaLinux ni errata lisible à ce jour |
| Plesk | À confirmer : le change log Plesk du 26/10 ne cite pas cette CVE ; la mise à jour Node.js 24.22.1 / 22.23.4 pour Plesk Windows date du 21/10 (Linux : à confirmer) |
Corriger
# Debian 12 / 13
apt update && apt install --only-upgrade libbrotli1 brotli
# Redémarrer les services qui ont chargé l'ancienne bibliothèque
needrestart -r l # ou : systemctl restart apache2 php*-fpm nginx
# AlmaLinux (à vérifier : paquet brotli du dépôt AppStream)
dnf upgrade brotli
Contournement
Pas de contournement officiel complet. En attendant la mise à jour : désactiver l'envoi de Accept-Encoding: br par les clients HTTP maison (CURLOPT_ENCODING sans br), et ne pas traiter de contenu Brotli venant de sources non fiables.
Vérifier
# Version installée
dpkg -l libbrotli1 brotli | grep ^ii
rpm -q brotli
# Processus qui utilisent libbrotli (à redémarrer si la bibliothèque a changé)
grep -l libbrotli /proc/[0-9]*/maps 2>/dev/null | cut -d/ -f3 | sort -u
# .NET : versions des runtimes installés
dotnet --list-runtimes
Sources : tracker Debian, NVD, avis Node.js, annonce PHP du 26/10, CERT-FR AVI-1382.