Source : Gal Bar Nahum’s Blog — Le 13 août 2025, le chercheur Gal Bar Nahum a dévoilé « MadeYouReset » (CVE‑2025‑8671), une vulnérabilité HTTP/2 de type déni de service qui exploite les mécanismes de contrôle de flux/erreurs du protocole pour contourner les limites de concurrence, en collaboration avec Prof. Anat Bremler‑Barr et Yaniv Harel (Université de Tel-Aviv), avec le soutien partiel d’Imperva.
🛑 Principe clé: MadeYouReset s’appuie sur l’idée de « Rapid Reset » (2023) mais avec un twist: au lieu que le client annule la requête, l’attaquant provoque des erreurs de flux afin que le serveur émette un RST_STREAM après le démarrage d’une requête valide. Comme les flux réinitialisés ne comptent plus dans MAX_CONCURRENT_STREAMS, le serveur poursuit souvent le travail backend (calcul de réponse) malgré la fermeture du flux côté HTTP/2, ce qui permet de créer un nombre non borné de travaux concurrents et d’induire un DoS.
⚙️ Comment ça contourne les mitigations de Rapid Reset: Les défenses post‑2023 limitaient le nombre de RST_STREAM émis par le client. Ici, l’attaquant n’en envoie aucun: il envoie une requête valide, puis fabrique des trames de contrôle invalides ou viole la séquence du protocole au bon moment pour déclencher un RST_STREAM côté serveur. Le billet indique l’existence de six « primitives » définies par la RFC permettant d’obtenir ce comportement, détaillées dans un post technique séparé.
📉 Impact observé: La majorité des serveurs affectés peuvent être poussés en déni de service complet, certains allant jusqu’au crash OOM. L’ampleur dépend de (1) la capacité du serveur (CPU, mémoire, I/O, pools), (2) le débit d’envoi de l’attaquant, (3) la ressource ciblée (coût de calcul). Même sans travail backend lourd, l’overhead du front HTTP/2 (création/destruction de flux, parsing, machine d’états, HPACK, nettoyage) peut suffire à dégrader ou interrompre le service à grande échelle.
🧩 Projets affectés (liste partielle fournie):
- Général: CVE‑2025‑8671
- Netty: CVE‑2025‑55163
- Apache Tomcat: CVE‑2025‑48989
- F5 BIG‑IP: CVE‑2025‑54500
- h2o: CVE‑2025‑8671
- swift‑nio‑http2: advisory (CVE non précisé)
TTPs (extraits du billet):
- Envoyer une requête HTTP/2 valide sur un flux.
- Puis provoquer une erreur de flux via des trames de contrôle invalides ou une violation de séquencement, pour forcer un RST_STREAM côté serveur.
- Ainsi, bypass de MAX_CONCURRENT_STREAMS sans émettre de RST_STREAM côté client et contournement des mitigations de Rapid Reset.
Conclusion: billet de publication de recherche présentant la vulnérabilité, son mécanisme, sa filiation avec Rapid Reset, son impact pratique et une liste partielle d’implémentations concernées, avec renvoi à des posts techniques pour les détails et les mesures.
🧠 TTPs et IOCs détectés
TTP
Envoyer une requête HTTP/2 valide sur un flux, provoquer une erreur de flux via des trames de contrôle invalides ou une violation de séquencement pour forcer un RST_STREAM côté serveur, bypass de MAX_CONCURRENT_STREAMS sans émettre de RST_STREAM côté client, contournement des mitigations de Rapid Reset
IOC
Aucun IOC spécifique (hash, domaine, IP) n’est mentionné dans l’analyse fournie.
🔗 Source originale : https://galbarnahum.com/posts/made-you-reset-intro