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_POC — Proof-of-concept di exploit per CVE-2026-39987, un RCE pre-autenticazione nell'endpoint WebSocket /terminal/ws di Marimo che fornisce una shell interattiva senza credenziali. | Kitploit
Strumenti/GitHubGitHub/julichaan/cve-2026-39987_poc
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebPenetration TestingAutenticazioneStrumento di Accesso Remoto
GitHubjulichaan/cve-2026-39987_poc

CVE-2026-39987_POC

Proof-of-concept di exploit per CVE-2026-39987, un RCE pre-autenticazione nell'endpoint WebSocket /terminal/ws di Marimo che fornisce una shell interattiva senza credenziali.

Vedi Repository
10h 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

PoC — CVE-2026-39987 · Marimo Pre-Auth RCE

CVSS 4.0: 9.3 (Critico) · AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H Interessa: marimo <= 0.20.4 · Corretto: 0.23.0 · CWE-306 (Autenticazione Mancante) Advisory: GHSA-2679-6mx9-h9xc · Fix: marimo-team/marimo@c24d480

Causa principale

L'endpoint WebSocket /terminal/ws (marimo/_server/api/endpoints/terminal.py) controlla solo la modalità di sessione (EDIT) e il supporto della piattaforma prima di accettare la connessione e chiamare pty.fork(). Non porta né un decoratore @requires(...) né una chiamata a validate_auth().

Confronto misurato nella 0.20.4:

  • 73 utilizzi di @requires(...) su 18 endpoint.
  • /ws (notebook) -> 2 chiamate a .
validate_auth()
  • terminal.py -> 0 @requires, 0 validate_auth. <-- il difetto.
  • Il middleware AuthBackend protegge HTTP e il websocket /ws, ma /terminal/ws accetta la connessione senza cookie e senza token e avvia una shell PTY con i privilegi del processo marimo.

    Requisiti di sfruttamento

    • marimo avviato in modalità EDIT (marimo edit ...), che è la modalità predefinita dell'editor.
    • Una piattaforma con supporto pty (Linux/macOS; Windows e Pyodide non sono interessati).
    • Accesso di rete alla porta. Nessuna credenziale richiesta.

    Scenario di attacco

    Un attaccante che può raggiungere un server marimo edit attraverso la rete (comune in deployment remoti / container, spesso in esecuzione come root) ottiene una shell interattiva senza autenticarsi: furto di credenziali (cat .env), movimento laterale, distribuzione di malware. Sfruttato in the wild < 10 h dopo la divulgazione; aggiunto al catalogo KEV di CISA il 2026-04-23.

    Utilizzo del PoC

    root@kitploit:~
    pip install "marimo==0.20.4" websockets
    marimo edit demo.py --headless --port 2718 --token --token-password SECRET
    python exploit.py ws://127.0.0.1:2718 "id; cat /etc/passwd"
    

    exploit.py non invia token, cookie né header Authorization. Invia il comando come testo grezzo + "\r" (Invio), esattamente come un utente lo digiterebbe nel terminale.

    Risultato ottenuto in laboratorio (Kali, marimo 0.20.4)

    • Baseline SENZA token: HTTP -> 401 ; /ws -> 403 (l'autenticazione FUNZIONA).
    • /terminal/ws SENZA token -> ACCETTATO. Eseguito sul server: uid=1000() gid=1000() ... Linux ... e ha scritto /tmp/cve_2026_39987_proof.txt -> RCE confermato.

    Remediation

    Aggiornare a marimo >= 0.23.0. Mitigazione temporanea: non esporre marimo edit a reti non attendibili; mettere l'editor dietro un proxy autenticato; eseguirlo senza privilegi / in un container senza segreti.

    Disclaimer

    Solo per test di sicurezza autorizzati e uso educativo. Eseguirlo solo contro sistemi di tua proprietà o per i quali hai esplicita autorizzazione al test.

    Scarica lo strumento