Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
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.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
Strumenti/GitHubGitHub/rootdirective-sec/cve-2026-23744-lab
Sicurezza dei ContenitoriAnalisi delle VulnerabilitàSicurezza WebApprendimento e FormazioneLab e Pratica
GitHubrootdirective-sec/cve-2026-23744-lab

CVE-2026-23744-Lab

# Laboratorio Docker per confrontare build vulnerabili e corrette di MCPJam Inspector per CVE-2026-23744, dimostrando le differenze di binding di rete e l'esposizione API per ricerca sulla sicurezza a scopo educativo.

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
Vedi Repository
6 mesi faNon ancora revisionato

CVE-2026-23744 – MCPJam Inspector Docker Lab

Questo repository è un piccolo laboratorio Docker per confrontare una build vulnerabile rispetto a una corretta (patched) di MCPJam Inspector per la CVE-2026-23744.

È pensato per l'apprendimento e per costruire un portfolio di sicurezza pubblico: configurazione rapida, prove chiare e screenshot.

⚠️ Etica / ambito: Testa solo su sistemi di tua proprietà o per cui hai esplicita autorizzazione. Questo repository è per riproduzione locale e documentazione.


Cosa dimostra questo laboratorio

  • Versione vulnerabile (1.4.2) ascolta su 0.0.0.0:6274 all'interno del container (raggiungibile dalla rete se pubblichi la porta).
  • Versione corretta (1.4.3) ascolta su 127.0.0.1:6274 all'interno del container (solo loopback), il che impedisce l'accesso dall'esterno del container anche se pubblichi una porta host.
  • La superficie API (/api/mcp/connect) esiste e risponde senza una sfida di autenticazione nella configurazione vulnerabile.

Questo corrisponde all'advisory del vendor / ai report pubblici:

  • GitHub Advisory (GHSA): https://github.com/advisories/GHSA-232v-j27c-5pp6
  • NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-23744

Struttura del repository

root@kitploit:~
.
├── docker-compose.yml
├── vuln/
│   └── Dockerfile
├── patched/
│   └── Dockerfile
└── docs/
    └── (gli screenshot vanno qui)

Prerequisiti

  • Docker + Docker Compose
  • curl

Avvio rapido

Build ed esecuzione di entrambi i container:

root@kitploit:~
docker compose up -d --build

Verifica che siano attivi:

root@kitploit:~
docker compose ps

Risultato atteso:

  • inspector_vuln_142 pubblicato su 127.0.0.1:6274
  • inspector_patched_143 pubblicato su 127.0.0.1:6275 (ma non dovrebbe essere raggiungibile dall'host)

Passaggi di validazione

UI raggiungibile (vuln)


2) L'API risponde (nessun gate di autenticazione visibile)

L'endpoint è presente e risponde con un errore di validazione quando mancano i campi obbligatori:

root@kitploit:~
curl -i -X POST http://127.0.0.1:6274/api/mcp/connect \
  -H 'Content-Type: application/json' \
  -d '{}'

Atteso HTTP/1.1 400 e qualcosa come:

root@kitploit:~
{"success":false,"error":"Failed to parse request body","details":"Unexpected end of JSON input"}

3) Differenza di binding (il vero comportamento della patch)

All'interno dei container, verifica quale indirizzo è in ascolto sulla porta 6274:

root@kitploit:~
# vulnerabile
docker exec -it inspector_vuln_142 sh -lc "apk add --no-cache iproute2 >/dev/null 2>&1; ss -lnt | grep 6274"

# corretto
docker exec -it inspector_patched_143 sh -lc "apk add --no-cache iproute2 >/dev/null 2>&1; ss -lnt | grep 6274"

Risultato atteso:

  • vuln: 0.0.0.0:6274
  • patched: 127.0.0.1:6274

Output ss (patched)


4) Perché il port mapping della versione corretta "non funziona" (atteso)

Anche se mappiamo 127.0.0.1:6275 -> container:6274, il container corretto ascolta solo sulla propria interfaccia loopback. Quindi dall'host dovresti vedere una chiusura della connessione / risposta vuota.

root@kitploit:~
curl -v http://127.0.0.1:6275/

Atteso: non raggiungibile (questa è la mitigazione che funziona).

Per dimostrare che la UI corretta funziona ancora, esegui curl dall'interno del container:

root@kitploit:~
docker exec -it inspector_patched_143 sh -lc "apk add --no-cache curl >/dev/null 2>&1; curl -i http://127.0.0.1:6274/"

Atteso: HTTP/1.1 200.

L'host non può raggiungere la versione corretta (atteso)

Dentro il container: la versione corretta è raggiungibile


5) Prova dell'esecuzione di processi

Durante i test locali sul container vulnerabile, ho collegato strace al processo server di Inspector e ho osservato la generazione di un processo figlio e la chiamata a execve().

Intenzionalmente non includo qui un payload exploit pronto all'uso.

Cosa catturare:

execve("/bin/sh", ["sh","-c", "..."], ...) = 0

execve("/usr/bin/...", [...], ...) = 0

l'uscita normale del processo figlio (status 0)

Exploit

Crediti / riferimenti

  • GitHub Advisory (GHSA-232v-j27c-5pp6): https://github.com/advisories/GHSA-232v-j27c-5pp6
  • NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-23744

Disclaimer

Questo repository è per ricerca difensiva, istruzione e verifica riproducibile in un ambiente controllato. Non usarlo contro sistemi che non possiedi o per cui non hai il permesso di testare.

Scarica lo strumento