Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
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é.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2026-111497 — Boîte à outils d'avis et de preuve de concept pour CVE-2026-111497 (Node2Shell), un débordement de tas Brotli dans Node.js, avec des scripts de déclenchement, un vérificateur de version et des recommandations de remédiation. | Kitploit
Outils/GitHubGitHub/0xblackash/cve-2026-111497
Outils DéfensifsScanners de VulnérabilitésGénération de PayloadsAnalyse des VulnérabilitésExploitationExploitation d'Applications WebTests d'IntrusionApprentissage et ÉducationOutil d'Accès à Distance
GitHub0xblackash/cve-2026-111497

CVE-2026-111497

15il y a 1 jourPas 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 →

Boîte à outils d'avis et de preuve de concept pour CVE-2026-111497 (Node2Shell), un débordement de tas Brotli dans Node.js, avec des scripts de déclenchement, un vérificateur de version et des recommandations de remédiation.

Voir le dépôt
Partager

CVE-2026-111497 — Node2Shell

Gemini_Generated_Image_i7ii2oi7ii2oi7ii

CVE Badge CVSS Badge Component Badge CWE Badge License

Avis de sécurité complet, analyse technique et guide de remédiation pour CVE-2026-111497

---

📋 Table des matières

  • Résumé exécutif
  • Analyse technique approfondie
    • Analyse de la cause racine
    • Vecteurs d'attaque
    • Évaluation de l'impact
  • Versions affectées et corrigées
  • Détection et audit
  • Remédiation et correctifs
    • Mise à niveau du runtime natif
    • Correctif de la couche Docker / conteneur
  • Stratégies d'atténuation
  • Références et ressources
  • Avertissement

📌 Résumé exécutif

Divulguée en octobre 2026, Node2Shell (CVE-2026-111497) est une vulnérabilité de sécurité critique affectant le composant natif de décompression Brotli intégré directement dans le binaire du runtime Node.js.

La faille permet à des attaquants distants d'exécuter du code arbitraire ou de faire planter l'application en soumettant des flux d'octets compressés Brotli spécialement conçus et malformés à toute application Node.js qui traite des entrées compressées (par exemple, les analyseurs de corps de requêtes HTTP, les appels natifs fetch() ou les flux WebSocket).

⚠️ REMARQUE CRITIQUE : Étant donné que le code vulnérable réside dans deps/brotli, compilé directement dans l'exécutable Node.js, la mise à jour des dépendances npm de l'espace utilisateur n'atténuera pas cette vulnérabilité. Le runtime binaire Node.js doit être mis à jour.


⚙️ Analyse technique approfondie

Analyse de la cause racine

  • Type de faille : Écriture hors limites (CWE-787) résultant d'une valeur de retour non vérifiée (CWE-252).
  • Composant vulnérable : Module décodeur Brotli de Google en amont, intégré à Node.js (deps/brotli).
  • Mécanisme : Lors de la décompression d'un flux malformé, le décodeur ne parvient pas à valider correctement les conditions aux limites lors des transitions d'état du flux. Cela entraîne une corruption du tampon de tas (heap-buffer) au-delà de l'espace mémoire préalloué.

Vecteurs d'attaque

  1. Requêtes HTTP entrantes : Frameworks et middlewares (par exemple, Express, Fastify) configurés avec la décompression automatique du corps (Content-Encoding: br).
  2. API Fetch sortante / entrante : Le fetch() natif traitant des réponses automatisées provenant de points de terminaison tiers non fiables servant du contenu compressé.
  3. Pipelines de flux internes : Flux Node.js personnalisés utilisant zlib.createBrotliDecompress().

Évaluation de l'impact

  • Déni de service (DoS) : Déclenchement fiable de fautes de segmentation (SIGSEGV) provoquant le plantage immédiat des processus de travail.
  • Divulgation d'informations : Lectures non contrôlées du tas exposant des jetons sensibles ou des variables d'environnement mises en cache dans la mémoire du processus.
  • Exécution de code à distance (RCE) : Corruption démontrée de la mémoire du tas permettant une prise de contrôle totale du flux d'exécution du processus sur des déploiements de conteneurs standard non modifiés.

📊 Versions affectées et corrigées

Ligne de version Node.jsStatutVersion corrigéeAction requise
Node.js 26.x⚠️ Vulnérable>= 26.12.1Mettre à niveau immédiatement
Node.js 24.x⚠️ Vulnérable>= 24.22.1Mettre à niveau immédiatement
Node.js 22.x (LTS)⚠️ Vulnérable>= 22.23.4Mettre à niveau immédiatement
Node.js 20.x & versions antérieures❌ EOLAucuneMigrer immédiatement vers une LTS prise en charge

🚨 Alerte EOL : Node.js 20 a atteint sa fin de vie (EOL) en avril 2026. Les rétroportages de sécurité officiels ne sont pas disponibles pour les versions EOL.


Script de vérification sécurisée

Voici exactement ce que vous devriez voir lorsque le vérificateur de sécurité fonctionne correctement.

1. Node.js corrigé / à jour (bon résultat)

$ node node2shell-check.js
=== Node2Shell (CVE-2026-111497) Safe Checker ===
Local version + constant probe only. No network, no payloads.

Current Node.js version : v24.22.1
Brotli constant present : yes (-17) → patched decoder

───────────────────────────────────────────────────────
Verdict: PATCHED
You are running a fixed release of the 24.x line.

Additional notes:
• The constant check is the most reliable signal when Node.js ships
  its own (statically linked) Brotli. On some Linux distros Node may
  use the system libbrotli – then you must also check the system package.
• Updating npm packages alone does NOT fix this issue.
• After upgrading, restart every Node.js process / container.
• Official fixed versions: 22.23.4 · 24.22.1 · 26.12.1

2. Node.js vulnérable (mauvais résultat)

$ node node2shell-check.js
=== Node2Shell (CVE-2026-111497) Safe Checker ===
Local version + constant probe only. No network, no payloads.

Current Node.js version : v24.22.0
Brotli constant present : no / missing → likely vulnerable decoder

───────────────────────────────────────────────────────
Verdict: VULNERABLE
Upgrade to Node.js 24.22.1 or later in the 24.x line.

Additional notes:
• The constant check is the most reliable signal when Node.js ships
  its own (statically linked) Brotli. On some Linux distros Node may
  use the system libbrotli – then you must also check the system package.
• Updating npm packages alone does NOT fix this issue.
• After upgrading, restart every Node.js process / container.
• Official fixed versions: 22.23.4 · 24.22.1 · 26.12.1

3. Version en fin de vie (également vulnérable)

Current Node.js version : v20.18.0
Brotli constant present : no / missing → likely vulnerable decoder

Verdict: VULNERABLE (EOL / UNSUPPORTED)
This release line is end-of-life or never received the security fix.
Migrate to a supported LTS line (22.x, 24.x or 26.x) and use a patched version.

Moyen rapide de vérifier la constante vous-même

Vous pouvez également exécuter cette commande en une ligne :

node -p "require('zlib').constants.BROTLI_DECODER_ERROR_FORMAT_BLOCK_SWITCH ?? 'missing'"
  • Renvoie -17 → corrigé
  • Renvoie missing → vulnérable

C'est la même vérification que celle utilisée par le script.


Configuration du labo

# Python dependencies
pip install requests brotli

# Node server (webhook injection + eval paths)
npm install
node server-stock.js       # port 3000

Utilisation

Télécharger l’outil