Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2026-111497 — Toolkit di advisory e proof-of-concept per CVE-2026-111497 (Node2Shell), un heap overflow di Brotli in Node.js, con script di trigger, verificatore di versione e indicazioni per la remediation. | Kitploit
Strumenti/GitHubGitHub/0xblackash/cve-2026-111497
Strumenti DifensiviScanner di VulnerabilitàGenerazione di PayloadAnalisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebPenetration TestingApprendimento e FormazioneStrumento di Accesso Remoto
GitHub0xblackash/cve-2026-111497

CVE-2026-111497

161 giorno faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →

Toolkit di advisory e proof-of-concept per CVE-2026-111497 (Node2Shell), un heap overflow di Brotli in Node.js, con script di trigger, verificatore di versione e indicazioni per la remediation.

Vedi Repository
Condividi

CVE-2026-111497 — Node2Shell

Gemini_Generated_Image_i7ii2oi7ii2oi7ii

CVE Badge CVSS Badge Component Badge CWE Badge License

Avviso di sicurezza completo, analisi tecnica e guida alla correzione per CVE-2026-111497

---

📋 Indice

  • Sintesi esecutiva
  • Analisi tecnica approfondita
    • Analisi della causa principale
    • Vettori di attacco
    • Valutazione dell'impatto
  • Versioni interessate e corrette
  • Rilevamento e verifica
  • Correzione e applicazione delle patch
    • Aggiornamento del runtime nativo
    • Correzione del livello Docker / container
  • Strategie di mitigazione
  • Riferimenti e risorse
  • Dichiarazione di non responsabilità

📌 Sintesi esecutiva

Divulgata nell'ottobre 2026, Node2Shell (CVE-2026-111497) è una vulnerabilità di sicurezza critica che interessa il componente nativo di decompressione Brotli incluso direttamente nel binario del runtime Node.js.

Il difetto consente ad attaccanti remoti di eseguire codice arbitrario o di mandare in crash l'applicazione inviando flussi di byte compressi con Brotli appositamente costruiti e malformati a qualsiasi applicazione Node.js che elabora input compressi (ad esempio, parser del corpo delle richieste HTTP, chiamate native a fetch() o flussi WebSocket).

⚠️ NOTA CRITICA: Poiché il codice vulnerabile risiede in deps/brotli compilato all'interno dell'eseguibile Node.js stesso, l'aggiornamento delle dipendenze npm nello spazio utente non mitigherà questa vulnerabilità. È necessario aggiornare il runtime binario di Node.js.


⚙️ Analisi tecnica approfondita

Analisi della causa principale

  • Tipo di difetto: Scrittura fuori dai limiti (CWE-787) derivante da un valore di ritorno non verificato (CWE-252).
  • Componente vulnerabile: Modulo decodificatore Brotli upstream di Google integrato in Node.js (deps/brotli).
  • Meccanismo: Durante la decompressione di un flusso malformato, il decodificatore non riesce a validare correttamente le condizioni al contorno durante le transizioni di stato del flusso. Ciò provoca una corruzione dell'heap-buffer oltre lo spazio di memoria preallocato.

Vettori di attacco

  1. Richieste HTTP in ingresso: Framework e middleware (ad esempio Express, Fastify) configurati con decompressione automatica del corpo (Content-Encoding: br).
  2. API Fetch in uscita / in ingresso: fetch() nativo che elabora risposte automatiche da endpoint di terze parti non attendibili che servono contenuti compressi.
  3. Pipeline di stream interne: Stream Node.js personalizzati che utilizzano zlib.createBrotliDecompress().

Valutazione dell'impatto

  • Denial of Service (DoS): Esecuzione affidabile di segmentation fault (SIGSEGV) che causano il crash immediato dei processi worker.
  • Divulgazione di informazioni: Letture non controllate dell'heap che espongono token sensibili o variabili d'ambiente memorizzate nella memoria del processo.
  • Remote Code Execution (RCE): Corruzione della memoria heap dimostrata che consente il controllo completo del flusso di esecuzione del processo su distribuzioni container standard non modificate.

📊 Versioni interessate e corrette

Linea di rilascio Node.jsStatoVersione correttaAzione richiesta
Node.js 26.x⚠️ Vulnerabile>= 26.12.1Aggiornare immediatamente
Node.js 24.x⚠️ Vulnerabile>= 24.22.1Aggiornare immediatamente
Node.js 22.x (LTS)⚠️ Vulnerabile>= 22.23.4Aggiornare immediatamente
Node.js 20.x e precedenti❌ EOLNessunaMigrare immediatamente a una LTS supportata

🚨 Avviso EOL: Node.js 20 ha raggiunto l'End-of-Life (EOL) ad aprile 2026. I backport di sicurezza ufficiali non sono disponibili per le versioni EOL.


Script di verifica sicura

Ecco esattamente cosa dovresti vedere quando il verificatore sicuro funziona correttamente.

1. Node.js corretto / aggiornato (buon risultato)

$ 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 vulnerabile (risultato errato)

$ 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. Versione a fine vita (anch'essa vulnerabile)

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.

Modo rapido per verificare tu stesso la costante

Puoi anche eseguire questo one-liner:

node -p "require('zlib').constants.BROTLI_DECODER_ERROR_FORMAT_BLOCK_SWITCH ?? 'missing'"
  • Restituisce -17 → corretto
  • Restituisce missing → vulnerabile

È lo stesso controllo utilizzato dallo script.


Configurazione del laboratorio

# Python dependencies
pip install requests brotli

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

Utilizzo

Scarica lo strumento