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-55511 — Execução Remota de Código (RCE) no Yamcs Mission Control System via Java Statement Injection em Identificadores com Aspas Duplas do Yarch SQLExecução Remota de Código (RCE) no Yamcs Mission Control System via Java Statement Injection em Identificadores com Aspas Duplas do Yarch SQL | Kitploit
Ferramentas/GitHubGitHub/junfuture1103/cve-2026-55511
Análise de VulnerabilidadesAnálise de CódigoExploraçãoExploração de Aplicações WebTestes de PenetraçãoAprendizado e Educação
GitHubjunfuture1103/cve-2026-55511

CVE-2026-55511

Ver Repositório

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 →

Sobre

Site
1há 1 mêsAinda não revisado

Execução Remota de Código (RCE) no Yamcs Mission Control System via Java Statement Injection em Identificadores com Aspas Duplas do Yarch SQLExecução Remota de Código (RCE) no Yamcs Mission Control System via Java Statement Injection em Identificadores com Aspas Duplas do Yarch SQL

Compartilhar

CVE-2026-55511: Yamcs StreamSQL RCE Autenticado

Prova de conceito não-armamentizada e documentação técnica para CVE-2026-55511, uma vulnerabilidade de injeção de código Java autenticada no compilador de expressão agregada Yamcs StreamSQL.

CampoValor
ProdutoYamcs (org.yamcs:yamcs-core)
AvisoGHSA-3g44-3m7x-cgg2
FraquezaCWE-94: Controle Inadequado da Geração de Código
SeveridadeCrítica, CVSS 3.1: 9.1
VetorCVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:H
Privilégio necessárioSystemPrivilege.ControlArchiving
Versões corrigidasYamcs 5.13.2 e 5.12.8
Patch principalb65a3d78178ba99a58b753feda6ecc3b5a694f13

Visão Geral

Yamcs aceita nomes entre aspas duplas para objetos StreamSQL e, nas versões afetadas, permite quase qualquer caractere dentro desses nomes. Expressões agregadas como sum(...) constroem dinamicamente código-fonte Java usando nomes de colunas e compilam esse código-fonte com Janino SimpleCompiler.

O código vulnerável aplica apenas uma sanitização mínima de nomes antes de colocar um nome de coluna em um identificador Java gerado. Um usuário autenticado com ControlArchiving pode, portanto, criar um nome de coluna entre aspas malicioso, alcançar o compilador de agregação através de POST /api/archive/{instance}:executeSql e executar Java influenciado pelo atacante dentro da JVM do servidor Yamcs.

Isso ultrapassa o limite de autorização pretendido do Yamcs: ControlArchiving permite gerenciamento de arquivo, tabela e fluxo, mas não concede intencionalmente execução arbitrária de Java no servidor.

Versões Afetadas

Linha de versãoAfetadaCorrigida
5.13.x5.13.1 e anteriores5.13.2
5.12.x5.12.7 e anteriores5.12.8

Atualize para Yamcs 5.13.2, 5.12.8 ou uma versão suportada posterior.

Detalhes Técnicos

O fluxo de dados vulnerável é:

root@kitploit:~
POST /api/archive/{instance}:executeSql
  -> TableApi.executeSql
  -> Yarch StreamSQL parser
  -> double-quoted object name
  -> SelectExpression aggregate binding
  -> SumExpression.aggregateFillCode_newData
  -> Expression.fillCode_InputDefVars
  -> CompilableAggregateExpression.getCompiledAggregate
  -> Janino SimpleCompiler.cook
  -> attacker-influenced Java executes in the Yamcs JVM

Três condições se combinam para criar o problema:

  1. A gramática vulnerável S_DOUBLE_QUOTED_IDENTIFIER aceita qualquer caractere exceto CR, LF e ".
  2. Expression.fillCode_InputDefVars deriva um nome de variável Java a partir do nome da coluna. Seu auxiliar sanitizeName substitui apenas / e -.
  3. A classe agregada gerada é compilada e carregada com Janino sem uma sandbox de expressão restritiva.

Isso deixa caracteres de sintaxe Java, como ponto e vírgula, espaço em branco, parênteses, operadores de atribuição e pontos, disponíveis no método newData(Tuple) gerado. Diferente de um caminho de expressão simples, o método agregado fornece um contexto de instrução acessível no qual instruções injetadas podem ser compiladas e executadas.

Pré-condições e Impacto

A exploração requer uma conta autenticada que possua SystemPrivilege.ControlArchiving. Uma conta sem esse privilégio é rejeitada pela verificação de autorização TableApi.executeSql.

A exploração bem-sucedida executa Java com os privilégios do processo de serviço Yamcs. Dependendo do isolamento da implantação, isso pode afetar a confidencialidade, integridade e disponibilidade dos dados da missão e do ambiente host. O problema não é um RCE não autenticado e, por si só, não eleva o processo Yamcs além das permissões do sistema operacional ou do contêiner.

Prova de Conceito

O poc.py incluído é intencionalmente não armamentizado:

  • ele não contata um servidor Yamcs ativo;
  • ele não executa um comando do sistema operacional;
  • ele verifica a cadeia de código-fonte vulnerável relevante em um checkout local do Yamcs;
  • ele gera um pequeno modelo Java do padrão de geração de código agregado;
  • e ele define apenas um marcador de propriedade JVM benigno.

Requisitos

  • Python 3.9+
  • Um checkout local do código-fonte do Yamcs
  • JDK opcional (javac e java) para o teste do marcador benigno

Executar

root@kitploit:~
cd /path/to/yamcs
python3 /path/to/poc.py \
  --json /tmp/evidence.json \
  --log /tmp/crash_evidence.log \
  --expect-crash

Indicadores esperados:

root@kitploit:~
source_chain_confirmed=true
generated_source_injection_present=true
marker_executed=true

Evidências

  • evidence/evidence.json: resultados estruturados da cadeia de código-fonte e modelo Java
  • evidence/crash_evidence.log: log de validação conciso

A evidência incluída foi produzida contra o commit do código-fonte do Yamcs 98a05e95461207c143e4297ec4bb1b5a76e9cb19. Ela confirma a cadeia de código-fonte vulnerável, a injeção de código-fonte gerado e a execução do marcador benigno.

Patch Oficial

A correção upstream é intitulada Avoid RCE through double-quoted identifiers:

  • Linha principal / 5.13.x: b65a3d78178ba99a58b753feda6ecc3b5a694f13, lançado em 5.13.2
  • Backport 5.12.x: 8c1070b12c0a6c003903325cb2a1013347e2dbde, lançado em 5.12.8

A mudança central restringe identificadores entre aspas duplas de um conjunto de caracteres quase irrestrito:

root@kitploit:~
< S_DOUBLE_QUOTED_IDENTIFIER: "\"" (~["\n","\r","\""])* "\"" >

para uma lista de permissões de letras, dígitos, $, _, # e .:

root@kitploit:~
< S_DOUBLE_QUOTED_IDENTIFIER: "\"" (<LETTER> | <DIGIT> | <SPECIAL_CHARS>)+ "\"" >

Isso rejeita os caracteres de separação de instruções e construção de expressões exigidos pela injeção reportada antes que o nome atinja a geração de código Java. O patch também atualiza arquivos de parser gerados, documentação e um teste relacionado.

A restrição pode afetar nomes de objetos entre aspas existentes que contenham espaços ou pontuação não permitida. Revise os esquemas StreamSQL e a automação antes de atualizar ou fazer backport.

Distinção do CVE-2026-44632

CVE-2026-55511 é um ponto de entrada separado do CVE-2026-44632 / GHSA-524g-x36v-9wm6. CVE-2026-44632 diz respeito ao JavaExprAlgorithmExecutionFactory, é alcançado através da funcionalidade de substituição de algoritmo do banco de dados da missão e é controlado por ChangeMissionDatabase.

Este problema está em org.yamcs.yarch.streamsql, é alcançado através de executeSql e é controlado por ControlArchiving. A correção anterior no caminho do algoritmo (5.13.0 / 5.12.7) não modificou o compilador StreamSQL nem seu tratamento de identificadores entre aspas.

Documentação Adicional

  • VULNERABILITY_REPORT.md: relatório de vulnerabilidade expandido
  • PATCH_ANALYSIS.md: análise detalhada do patch upstream e notas de compatibilidade

Referências

  • Aviso de segurança oficial do Yamcs: GHSA-3g44-3m7x-cgg2
  • Commit de correção oficial da linha principal
  • Commit de correção oficial da versão 5.12.x

Utilize este material apenas em sistemas de sua propriedade ou que você esteja explicitamente autorizado a testar.

Baixar ferramenta