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-21710 — Preuve de concept d'exploitation pour CVE-2026-21710, une faille de gestion des requêtes HTTP dans Node.js provoquant une TypeError non interceptée via l'en-tête __proto__, conduisant à un déni de service. | Kitploit
Outils/GitHubGitHub/open-flaw/cve-2026-21710
Analyse des VulnérabilitésExploitationExploitation d'Applications Web
GitHubopen-flaw/cve-2026-21710

CVE-2026-21710

Preuve de concept d'exploitation pour CVE-2026-21710, une faille de gestion des requêtes HTTP dans Node.js provoquant une TypeError non interceptée via l'en-tête __proto__, conduisant à un déni de service.

Voir le dépôt
il y a 4 moisPas encore vérifié

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

CVE-2026-21710 — Déni de service Node.js req.headersDistinct

Résumé

ChampValeur
ID CVECVE-2026-21710
Publié2026-03-30
CVSS v3.17.5 ÉLEVÉ (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H)
CWECWE-770 — Allocation de ressources sans limites ni limitation
Versions concernéesNode.js 20.x, 22.x, 24.x, 25.x
Corrigé dansVersions de sécurité de mars 2026

Description

Une faille dans la gestion des requêtes HTTP de Node.js provoque une TypeError non interceptée lorsqu'une requête est reçue avec un en-tête nommé __proto__ et que l'application accède à req.headersDistinct.

dest["__proto__"] renvoie Object.prototype plutôt que undefined, ce qui entraîne l'appel de .push() sur un objet qui n'est pas un tableau. Cette exception est levée de manière synchrone à l'intérieur d'un getter de propriété et ne peut pas être interceptée par les écouteurs d'événements error — elle ne peut pas être gérée sans envelopper chaque accès à req.headersDistinct dans un try/catch.

Cause racine

Le getter headersDistinct accumule les valeurs d'en-tête dans un objet simple :

root@kitploit:~
const dest = {};
// ...
dest[name] = dest[name] || [];
dest[name].push(value);

Lorsque name === "__proto__" :

  • dest["__proto__"] renvoie Object.prototype (valeur véridique, pas undefined)
  • L'initialisation || [] est ignorée
  • .push(value) est appelé sur Object.prototype → TypeError: dest[name].push is not a function
  • La levée synchrone échappe à la limite d'erreur de la boucle d'événements et fait planter le processus

Fichiers

FichierDescription
server.jsServeur HTTP vulnérable (accède directement à req.headersDistinct)
poc.jsPreuve de concept d'exploitation

Utilisation

Réservé à la recherche en sécurité autorisée / à la divulgation responsable.

Démarrer le serveur vulnérable

root@kitploit:~
node server.js
# Écoute sur http://127.0.0.1:3000

Exécuter la POC

root@kitploit:~
node poc.js

Sortie attendue :

  1. Étape 1 — la requête normale réussit (HTTP 200).
  2. Étape 2 — l'en-tête __proto__ est envoyé ; le serveur plante avec une TypeError non interceptée.
  3. Étape 3 — la requête suivante obtient une erreur de connexion, confirmant le plantage.

Références

  • NVD — CVE-2026-21710
  • Versions de sécurité de mars 2026 de Node.js
Télécharger l’outil