Des informations ont été révélées sur la vulnérabilité « HTTP/2 Bomb », affectant diverses implémentations du protocole HTTP/2 et permettant de provoquer un déni de service en épuissant toute la mémoire disponible du processus. La présence du problÚme a été confirmée dans les serveurs HTTP nginx, Apache httpd (CVE-2026-49975), Microsoft IIS, Envoy (CVE-2026-47774) et Cloudflare Pingora dans leur configuration par défaut.
La vulnĂ©rabilitĂ© utilise une mĂ©thode similaire Ă celle d'une bombe ZIP, appliquĂ©e Ă la fonctionnalitĂ© de compression des en-tĂȘtes dans HTTP/2. L'idĂ©e est que la requĂȘte peut contenir des milliers d'en-tĂȘtes compressĂ©s, tels que « Cookie », sans donnĂ©es attachĂ©es, chacun d'eux Ă©tant reprĂ©sentĂ© dans la requĂȘte par une rĂ©fĂ©rence d'un octet dans l'index HPACK, mais nĂ©cessite le serveur une allocation complĂšte de mĂ©moire pour l'ensemble de l'en-tĂȘte. Le niveau de consommation mĂ©moire dans diffĂ©rents serveurs HTTP varie d'environ 70 octets pour chaque octet dans l'index pour nginx, IIS et Pingora, jusqu'Ă 4000 octets dans Apache httpd et 5700 dans Envoy. Lors d'une attaque depuis un ordinateur personnel ayant une connexion de 100 Mbps, il faut environ 10 secondes pour Ă©puiser 32 Go de mĂ©moire lors d'une attaque contre serveur Envoy 1.37.2, 18 secondes pour Apache httpd 2.4.67 et 45 secondes pour nginx 1.29.7.
Pour bloquer la vulnĂ©rabilitĂ©, la directive max_headers a Ă©tĂ© dĂ©placĂ©e dans la version 1.29.8 de nginx du projet freenginx, qui par dĂ©faut autorise le traitement de plus de 1000 en-tĂȘtes. Dans Envoy, le correctif
a Ă©tĂ© inclus dans les versions 1.35.11 et 1.36.7, dans lesquelles sont mis en Ćuvre les limites mutable_max_request_headers_kb et max_headers_count. Dans Apache httpd, le correctif a Ă©tĂ© proposĂ© dans la version du module mod_http2 2.0.41, qui n'a pas encore Ă©tĂ© intĂ©grĂ©e dans les versions d'Apache httpd. Pour
Microsoft IIS et Cloudflare Pingora, des correctifs sont encore absents.
Comme solution de contournement pour la protection, il est possible de désactiver l'utilisation du protocole HTTP/2 et de définir une limite sur la quantité de mémoire disponible pour les processus.
Source : opennet.ru
