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-58138 — CVE-2026-58138 — Conductor (3.21.21..<3.30.2) RCE não autenticado via avaliador GraalVM INLINE (HostAccess.ALL). Lab + PoC, verificado e2e (root). | Kitploit
Ferramentas/GitHubGitHub/ch4120n/cve-2026-58138
Análise de VulnerabilidadesAnálise de CódigoExploraçãoExploração de Aplicações WebTestes de PenetraçãoAprendizado e EducaçãoDesenvolvimento de PayloadsLabs e Prática
GitHubch4120n/cve-2026-58138

CVE-2026-58138

CVE-2026-58138 — Conductor (3.21.21..<3.30.2) RCE não autenticado via avaliador GraalVM INLINE (HostAccess.ALL). Lab + PoC, verificado e2e (root).

Ver Repositório
15há 1 mêsAinda 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 autenticado no Conductor via Avaliador GraalVM

CVE CVSS Status Auth

Resumo: O Orkes/OSS Conductor (versões 3.21.21 a < 3.30.2) avalia JavaScript fornecido pelo utilizador em tarefas INLINE usando um contexto GraalVM com acesso total ao host (HostAccess.ALL). Como a API da comunidade não possui autenticação por omissão, qualquer utilizador não autenticado pode submeter um fluxo de trabalho malicioso, pivotar a partir do objeto JavaScript vinculado para java.lang.Runtime e obter como o utilizador do processo Conductor (frequentemente ).

Execução Remota de Código (RCE) não autenticada
root

Índice

  1. Visão Geral da Vulnerabilidade
  2. A Causa Raiz
  3. Fluxo de Exploração
  4. Início Rápido & Reprodução
  5. Impacto
  6. Remediação
  7. Deteção
  8. Créditos & Aviso Legal

Visão Geral da Vulnerabilidade

AtributoDetalhes
Identificador CVECVE-2026-58138
Software AfetadoConductor 3.21.21 até 3.30.1
Versão Corrigida3.30.2 (Commits: 87a7d96, c691e35)
Classe de VulnerabilidadeCWE-94: Injeção de Código (contorno da sandbox polyglot do GraalVM)
Pontuação CVSS v3.19.8 (Crítico) 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 omissão)
VerificaçãoConfirmado como root contra conductoross/conductor:3.22.3

Nota de Versão: As versões até ~3.29.x usam a configuração simples allowHostAccess(HostAccess.ALL), que este PoC explora diretamente. As versões 3.30.0 e 3.30.1 introduziram uma lista negra parcial (bloqueando alguma reflexão), mas a correção completa (allowHostClassLoading(false) + endurecimento do motor) foi implementada apenas na 3.30.2. Este PoC visa a configuração sem sandbox.


A Causa Raiz

A vulnerabilidade existe na forma como o Conductor configura o contexto polyglot do GraalVM para a avaliação de scripts.

Em core/.../events/ScriptEvaluator.java (≤ 3.29.x), o contexto é construído assim:

root@kitploit:~
return Context.newBuilder("js")
        .allowHostAccess(HostAccess.ALL)   // PERIGO: Interop total com o host, sem sandbox
        .build();

Porque isto é um fim de jogo:

  1. HostAccess.ALL concede ao motor JavaScript permissão para chamar qualquer método ou aceder a qualquer campo em objetos host Java.
  2. A tarefa INLINE vincula os seus parâmetros de entrada à variável JavaScript $, que é um objeto Java real.
  3. Um atacante pode encadear reflexão Java a partir de $: $.getClass().getClass() ➔ java.lang.Class ➔ Class.forName("java.lang.Runtime") ➔ Runtime.getRuntime().exec("sh -c <comando>").
  4. A mesma falha existe no avaliador Python (Context.newBuilder("python").allowAllAccess(true)).

Fluxo de Exploração

O ataque requer zero autenticação e segue três passos simples:

  1. Registar: Enviar um pedido POST para /api/metadata/workflow com uma definição de fluxo de trabalho maliciosa. A tarefa INLINE contém o payload JavaScript reflexivo no seu campo expression.
  2. Executar: Enviar um pedido POST para /api/workflow/{workflow_name} para acionar o fluxo de trabalho.
  3. Extrair: O motor GraalVM executa o payload. O Runtime.exec reflexivo executa o comando do SO, e o PoC captura inteligentemente o stdout e devolve-o como saída do result da tarefa, que é então obtida através da API.

Início Rápido & Reprodução

1. Iniciar o Laboratório Vulnerável

Inicie uma instância local da versão vulnerável do Conductor usando Docker.

root@kitploit:~
# Clonar o repositório e iniciar o ambiente de laboratório
docker compose -f docker/docker-lab.yml up -d

# Aguardar ~60 segundos para o servidor all-in-one iniciar completamente

2. Executar o PoC

Execute o script de exploração Python fornecido. Ele depende apenas da biblioteca padrão Python (sem dependências externas necessárias).

root@kitploit:~
python3 exploit.py http://127.0.0.1:8080 -c "id; hostname; whoami"

3. Saída Esperada

root@kitploit:~
[*] Alvo: http://127.0.0.1:8080
[*] Comando: 'id; hostname; whoami'
[*] Registando fluxo de trabalho com uma tarefa INLINE (javascript) maliciosa ... (sem auth)
[*] Iniciando execução do fluxo de trabalho ... (sem auth)
[*] Fluxo iniciado id=pwn_1705432100; lendo saída da tarefa INLINE ...

[+] RCE NÃO AUTENTICADO CONFIRMADO - saída do comando do host Conductor:
uid=0(root) gid=0(root) groups=0(root)
vbox
Linux 6.18.12+deb13-amd64

Nota: A saída uid=0(root) prova execução genuína no host, não uma resposta simulada.


Impacto

A exploração bem-sucedida concede ao atacante execução arbitrária de comandos do SO no host orquestrador do Conductor.

Porque o Conductor é frequentemente implantado com privilégios elevados para gerir infraestrutura, isto tipicamente resulta em:

  • Comprometimento total do motor de fluxo de trabalho.
  • Acesso a camadas de persistência subjacentes (Redis, PostgreSQL, Elasticsearch).
  • Movimento lateral através de credenciais armazenadas ou sistemas a jusante acionados por fluxos de trabalho.

Remediação

  1. Atualize Imediatamente: Atualize para Conductor ≥ 3.30.2. Nesta versão, os avaliadores JS e Python já não são executados com acesso ao host ou carregamento de classes ativado.
  2. Defesa em Profundidade:
    • Coloque um gateway de autenticação (por exemplo, OAuth2, Chaves de API) à frente da API do Conductor.
    • Execute o processo do servidor Conductor como um utilizador não root e com privilégios mínimos.
    • Implemente segmentação de rede rigorosa para restringir quem pode registar ou executar fluxos de trabalho.

Deteção

Monitore o seu ambiente para os seguintes indicadores de compromisso (IoCs):

  • Definições de Fluxo de Trabalho: Sinalize qualquer tarefa INLINE, LAMBDA, DO_WHILE ou SWITCH contendo strings expression que referenciem:
    • getClass, forName, Runtime, exec, ProcessBuilder
    • java.lang.reflect ou acesso genérico a pacotes java.
  • Alertas ao Nível do Host: Monitore processos JVM do Conductor a gerar inesperadamente interpretadores de shell (sh, bash, cmd.exe) ou a fazer conexões de rede de saída.

Para uma análise aprofundada da cadeia de reflexão, configurações de avaliador específicas de versão e análise do patch, consulte ANALYSIS.md.


Créditos & Aviso Legal

  • Manutenção do Repositório: Ch4120N
  • Refinamento do PoC: (Ch4120N/CVE-2026-58138)
  • Referência do Aviso: Orkes Conductor unauth RCE via GraalVM script evaluators

Aviso Legal: Este repositório contém um laboratório independente e reproduzível e uma Prova de Conceito (PoC) destinados estritamente a fins de segurança defensiva, educacional e testes de segurança autorizados. Não utilize este código contra sistemas que não possui ou para os quais não tem permissão explícita por escrito para testar. Os autores não assumem qualquer responsabilidade por uso indevido.

Baixar ferramenta