
PoC pour valider la vulnérabilité MadeYouReset
PoC pour valider la vulnérabilité MadeYouReset
Ce dépôt contient une PoC contrôlée développée pour valider si une infrastructure est potentiellement vulnérable à la CVE-2025-8671 (MadeYouReset). Le code n'est pas un exploit complet et ne réalise pas de vrai DoS – l'objectif est uniquement de simuler les vecteurs décrits publiquement et d'observer les réponses du serveur.
À propos de la CVE-2025-8671 La CVE-2025-8671 affecte les implémentations HTTP/2 dans lesquelles le serveur ne gère pas correctement certains frames invalides envoyés après la fermeture de streams ou de connexions. Un attaquant pourrait exploiter la faille pour provoquer une consommation excessive de CPU/mémoire, entraînant un déni de service (DoS).
Les vecteurs les plus courants décrits publiquement incluent :
Ce que fait le code Le script :
Établit une connexion HTTP/2 avec la cible indiquée.
Exécute des requêtes pour les vecteurs connus (listés ci-dessus).
Surveille la réponse du serveur, enregistrant des événements tels que :
Pour chaque tentative, génère une sortie JSON avec :
Limitations
Le script n'est pas un véritable exploit de DoS. Il n'envoie que quelques dizaines de frames par vecteur pour une détection contrôlée.
Le code ne mesure pas directement l'épuisement du CPU/mémoire du serveur ; l'analyse dépend de :
Il ne couvre pas tous les scénarios d'exploitation possibles, uniquement les vecteurs déjà décrits publiquement.
C'est un outil de validation défensive, non d'attaque.
Comment utiliser
Prérequis
Exécution
python3 poc_cve.py
Interprétation des résultats
GOAWAY = 1 → le serveur a correctement fermé la connexion. RST_STREAM = 1 → le serveur a correctement réinitialisé le stream invalide. responses > 0 → le serveur a traité la requête (acceptable sur des chemins valides, à condition qu'il la ferme ensuite). conn_closed_early = 1 → le serveur a fermé la connexion immédiatement (normal pour certains vecteurs). error → indique une erreur locale du client (pas nécessairement un problème du serveur).
Les infrastructures non vulnérables ont tendance à :
Fermer la connexion (GOAWAY) ou réinitialiser les streams invalides (RST_STREAM)
Ne pas maintenir de traitement actif après les frames invalides
Ne pas présenter de lenteur ou de consommation anormale dans les logs
Conclusion
Ce code permet de valider, de manière sûre et non intrusive, si une infrastructure HTTP/2 réagit correctement aux vecteurs associés à la CVE-2025-8671.
Il remplit son objectif de PoC défensive : détecter des comportements incorrects sans générer de vrai DoS ni exploiter la faille en production.