Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
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.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2026-85315 — Reprodutor de prova de conceito executável para CVE-2026-85315, demonstrando a divulgação de mensagens de exceção do consumidor camel-grpc (CWE-209) no Camel Spring Boot e Quarkus. | Kitploit
Ferramentas/GitHubGitHub/oscerd/cve-2026-85315
Ferramentas DefensivasScanners de Vulnerabilidades WebAnálise de VulnerabilidadesColeta de InformaçõesAprendizado e Educação
GitHuboscerd/cve-2026-85315

CVE-2026-85315

Reprodutor de prova de conceito executável para CVE-2026-85315, demonstrando a divulgação de mensagens de exceção do consumidor camel-grpc (CWE-209) no Camel Spring Boot e Quarkus.

Ver Repositório
2há 1 diaAinda 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-85315 — camel-grpc: divulgação de exceção do consumidor

Reprodutor de prova de conceito executável para a vulnerabilidade do Apache Camel em que, quando uma rota por trás de um consumidor gRPC falhava, a mensagem da exceção da rota era copiada para a descrição do Status do gRPC. Diferentemente da causa do status (withCause(...)), que permanece local ao servidor, a descrição é transmitida ao cliente que faz a chamada, de modo que um chamador externo capaz de provocar uma falha poderia ler a mensagem de erro interna — na prática, nomes de classes e pacotes, caminhos de arquivo, nomes de host e detalhes de conexão contidos nas mensagens de exceção (CWE-209). Este é o membro gRPC da mesma família de exceções de consumidor não silenciadas que os avisos do knative, mina e CXF publicados junto a ele.

RuntimeDiretórioStack
Camel Spring Bootcamel-spring-boot/Spring Boot 3.5.13 + camel-grpc 4.22.0 (afetado; corrigido em 4.22.1)
Camel Quarkuscamel-quarkus/Quarkus 3.39.0 + camel-quarkus-grpc (Camel 4.22.0, afetado; controle corrigido CQ 3.40.0 / Camel 4.22.1)

Ambos os módulos demonstram o comportamento afetado e o corrigido contra o consumidor camel-grpc real.

O que demonstra

Cada módulo executa um consumidor camel-grpc (o serviço PingPong do próprio proto de teste do camel-grpc) cuja rota sempre falha com uma mensagem de aparência interna:

Internal failure contacting jdbc:postgresql://db.internal.local:5432 (user=svc_admin) [CVE-2026-85315]

O endpoint verificador /exploit/attack atua como um cliente gRPC externo: ele chama PingSyncSync, captura a StatusRuntimeException e reporta o código Status e a descrição que o servidor retornou.

  • Afetado: a descrição do status é a mensagem da exceção da rota literalmente — a URL do backing-store e a conta de serviço vazam para o cliente.
  • Corrigido: a nova opção de consumidor muteException tem como padrão true, então a descrição é a genérica "Exchange processing failed" e a mensagem real nunca sai do servidor (ela é mantida apenas na causa do status local).
# Camel Spring Boot
cd camel-spring-boot
mvn clean package
docker compose up -d --build
curl -s http://localhost:8080/exploit/attack     # affected: description leaks the internal message; >>> PROVEN
docker compose down
# Patched control
mvn clean package -Dcamel.version=4.22.1
java -jar target/cve-2026-85315-grpc-exception-disclosure-0.0.1-SNAPSHOT.jar &
curl -s http://localhost:8080/exploit/attack     # fixed: description is "Exchange processing failed"; >>> Not exploited
# Camel Quarkus
cd camel-quarkus
mvn clean package
docker compose up -d --build
curl -s http://localhost:8080/exploit/attack     # affected (Camel 4.22.0): description leaks the internal message
docker compose down
# Patched control: CQ 3.40.0 ships Camel 4.22.1
mvn clean package -Dcamel-quarkus.version=3.40.0 -Dquarkus.platform.version=3.40.0
java -jar target/quarkus-app/quarkus-run.jar &
curl -s http://localhost:8080/exploit/attack     # fixed: description is "Exchange processing failed"

Cada módulo serve o verificador em 8080 e executa o consumidor camel-grpc em 50051 dentro do mesmo processo; apenas 8080 é publicado.

Resumo da Vulnerabilidade

PropriedadeValor
Componentecamel-grpc (GrpcMethodHandler, consumidor)
CWECWE-209 (Geração de Mensagem de Erro Contendo Informações Sensíveis)
SeveridadeMÉDIA
Vetor de ataqueUm cliente gRPC externo provoca uma falha na rota e lê a descrição do Status transmitida
ImpactoDetalhes internos do erro (nomes de classes/pacotes, caminhos, nomes de hosts, detalhes de conexão) são divulgados ao chamador
Versões AfetadasA partir de 4.0.0 antes de 4.18.5, a partir de 4.19.0 antes de 4.22.1
Versões Corrigidas4.18.5, 4.22.1, 4.23.0
JIRACAMEL-24478
CréditoClaude Security Scan Tool

Aviso: https://camel.apache.org/security/CVE-2026-85315.html

O módulo afetado do Quarkus é construído sobre o CQ 3.39.0 (Camel 4.22.0). O controle corrigido é o CQ 3.40.0 (Camel 4.22.1).

A correção

GrpcMethodHandler adiciona uma opção de consumidor muteException (padrão true). Quando habilitada, uma troca com falha produz a descrição genérica "Exchange processing failed" no status transmitido; a exceção da rota ainda é anexada localmente por meio de withCause(...), que o gRPC não envia ao cliente. Defina muteException=false no endpoint para restaurar o comportamento anterior.

Mitigação se você não puder atualizar

Mapeie as falhas para um status explícito em um manipulador onException para que o framework nunca copie a mensagem da exceção para a descrição.

Aviso Legal

Este repositório é publicado para fins educacionais e defensivos: para ajudar os usuários do Apache Camel a entender a vulnerabilidade, verificar se são afetados e confirmar que a atualização a resolve. A mensagem "interna" é um placeholder benigno (db.internal.local, svc_admin) e toda a demonstração é executada em um único processo. Não use este material contra sistemas que você não possui ou opera.

Baixar ferramenta