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-52616 — Advisory e PoC benigno per l'iniezione di comandi OS in un server MCP nmap, con monitoraggio dei CVE duplicati, indicazioni per il rilevamento e mitigazione. | Kitploit
Strumenti/GitHubGitHub/s1ko/cve-2026-52616
Analisi delle VulnerabilitàExploitSicurezza di ReteSicurezza delle API
GitHubs1ko/cve-2026-52616

CVE-2026-52616

Advisory e PoC benigno per l'iniezione di comandi OS in un server MCP nmap, con monitoraggio dei CVE duplicati, indicazioni per il rilevamento e mitigazione.

Vedi Repository
262 mesi 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 →
Condividi

CVE-2026-52616 — mcp-nmap-server: iniezione di comandi OS tramite run_nmap_scan

Lo strumento MCP run_nmap_scan costruisce il proprio comando tramite interpolazione di stringhe dei parametri target e additionalFlags e lo esegue tramite child_process.exec, ovvero /bin/sh -c.

⚠ Leggere prima — identificatore duplicato

Questa vulnerabilità era già pubblica prima che esistesse questo CVE ID. È coperta da CVE-2026-3484 / GHSA-xc68-rrqc-qgq3, assegnato da VulDB e pubblicato il 2026-03-03 contro mcp-nmap-server <= 1.0.1 — stesso pacchetto, stesso sink CWE-78 child_process.exec.

CVE-2026-52616 è stato assegnato a s1ko da MITRE CNA-LR il 2026-07-13 in risposta a una segnalazione indipendente. Tale assegnazione sembra essere un duplicato, e è stata segnalata come tale. L'identificatore preesistente CVE-2026-3484 è quello che dovrebbe essere citato.

Questo repository è pubblicato per completezza e per documentare il duplicato, non come rivendicazione di una scoperta originale. Il merito per la divulgazione pubblica originale non è di s1ko.

CVECVE-2026-52616 — duplicato di CVE-2026-3484
CWECWE-78 (Improper Neutralization of Special Elements used in an OS Command)
Pacchettomcp-nmap-server (npm)
Affetto1.0.1 e precedenti — tutte le versioni pubblicate
Corretto innessuna — repository archiviato
CVSS v3.1AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H = 8.4 High (trasporto stdio). AV:N → 9.8 Critical se il server è incapsulato in un trasporto di rete.
Segnalato indipendentemente das1ko (github.com/s1ko, [email protected])
CVE assegnato2026-07-13, MITRE CNA-LR

Una trappola di denominazione degna di nota per chiunque deduplichi questo caso: il pacchetto npm è mcp-nmap-server e il repository è nmap-mcp-server. I due ordinamenti si riferiscono allo stesso progetto.

Modello di minaccia

Gli argomenti degli strumenti MCP sono influenzati dall'attaccante. Sono prodotti da un LLM a partire dal contenuto che l'agente elabora — documenti, pagine web, output di strumenti — quindi l'iniezione indiretta di prompt mette un attaccante in controllo dei valori che un gestore di strumenti riceve. Un gestore che inserisce uno qualsiasi di questi valori in una shell trasforma tale influenza in esecuzione di codice sull'host che esegue il server MCP. Questo è lo stesso modello del caso precedente aws-mcp-server / CVE-2026-5058.

Esecuzione

dist/index.js — il target viene aggiunto a una stringa di comando che viene poi passata a exec:

command += ` ${target}`;
…
const { stdout, stderr } = await promisify(exec)(command);

child_process.exec esegue il proprio argomento in /bin/sh -c, quindi tutto ciò che il chiamante ha contribuito è sintassi della shell. Lo schema di input Zod dichiara z.string(), che convalida il tipo e non dice nulla sul contenuto, quindi i metacaratteri passano. additionalFlags raggiunge la stessa stringa attraverso lo stesso percorso.

Una chiamata run_nmap_scan con target impostato a 127.0.0.1; touch /tmp/marker; echo INJECTED produce:

/bin/sh -c "nmap … 127.0.0.1; touch /tmp/marker; echo INJECTED"

Riproduzione

poc/driver.mjs comunica tramite MCP su stdio: inizializza il server, invia una singola tools/call per run_nmap_scan con un target iniettato, e verifica la presenza di un file marcatore. Il payload è un touch benigno.

npm pack [email protected]
tar xf mcp-nmap-server-1.0.1.tgz && cd package && npm install
node ../poc/driver.mjs

Atteso su una versione interessata:

==== POC RESULT (mcp-nmap-server) ====
marker /tmp/PWNED_nmap created: true
verdict: CONFIRMED — command injection executed

nmap non deve essere installato — il comando iniettato viene eseguito nella stessa stringa /bin/sh -c indipendentemente dal fatto che il binario iniziale venga risolto. Validato il 2026-06-01 in un container isolato e rivalidato il 2026-06-13. Eseguilo solo contro infrastrutture che sei autorizzato a testare.

Rilevamento

  • Una riga di comando nmap contenente ;, &&, ||, |, un backtick o $(.
  • Un processo sh -c la cui riga di comando inizia con nmap e contiene un secondo comando dopo un separatore — un segnale a livello di albero dei processi (auditd, eBPF, Falco, EDR) che non dipende dal logging dell'applicazione.
  • Processi figli inattesi del processo del server MCP. nmap è previsto; una shell, un interprete o un client di rete non lo sono.
  • Log delle chiamate agli strumenti MCP in cui target o additionalFlags contengono metacaratteri della shell. Un target dovrebbe corrispondere a un IP, CIDR o hostname e a nient'altro.

MITRE ATT&CK T1059.004 Command and Scripting Interpreter: Unix Shell.

Mitigazione

Il repository è archiviato e in sola lettura, l'ultima versione su npm è la 1.0.1 affetta dalla vulnerabilità, e non verrà pubblicata alcuna release corretta. La rimozione è la mitigazione:

  • Smetti di usare il pacchetto. Non è mantenuto, è pubblicamente vulnerabile da marzo 2026 e non verrà corretto.
  • Se deve rimanere, eseguilo in un container o VM come utente non privilegiato, senza credenziali nel suo ambiente e senza traffico in uscita oltre l'intervallo di scansione, e non esporlo tramite un trasporto di rete.
  • Avvolgi o esegui il fork del server per validare target rispetto a un pattern IP/CIDR/hostname e per inserire additionalFlags in una allowlist prima che uno dei due raggiunga la stringa di comando.

La correzione, per chiunque ne faccia un fork, è chiamare execFile("nmap", [...args]) con un vettore di argomenti invece di costruire una stringa per exec. La validazione del contenuto, non solo la validazione dei tipi con Zod, è il requisito di fondo.

NIST SP 800-53r5 SI-10; OWASP ASVS v4 §5.3.8; mitigazioni CWE-78 M1 e M2.

Cronologia

DataEvento
2026-03-03CVE-2026-3484 / GHSA-xc68-rrqc-qgq3 pubblicato da VulDB — la divulgazione pubblica originale, da parte di un altro segnalatore
2026-05-29Identificato in modo indipendente tramite revisione del codice sorgente del tarball pubblicato, all'insaputa dell'advisory di marzo
2026-06-01Validato dinamicamente tramite MCP stdio in un container isolato
2026-06-13Duplicato identificato durante la deduplicazione pre-invio; repository confermato archiviato con Private Vulnerability Reporting non disponibile. Verdetto interno: non presentare
2026-07-13MITRE CNA-LR assegna comunque CVE-2026-52616, accreditando s1ko come scopritore
2026-08-22Pubblicato questo write-up, che documenta il duplicato

Riferimenti

  • Advisory originale — https://github.com/advisories/GHSA-xc68-rrqc-qgq3
  • CVE originale — https://nvd.nist.gov/vuln/detail/CVE-2026-3484
  • Pacchetto npm — https://www.npmjs.com/package/mcp-nmap-server
  • Repository (archiviato) — https://github.com/PhialsBasement/nmap-mcp-server
  • Precedente per il modello di minaccia MCP — CVE-2026-5058 (aws-mcp-server)

Advisory complementari dalla stessa sessione di ricerca: CVE-2026-52617, CVE-2026-52618.

Licenza

MIT — vedi LICENSE.

Scarica lo strumento