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-85243 — Prova de conceito executável em Spring Boot e Quarkus para a CVE-2026-85243, demonstrando o downgrade da verificação de integridade do camel-crypto-pgp do Apache Camel e sua correção. | Kitploit
Ferramentas/GitHubGitHub/oscerd/cve-2026-85243
Ferramentas DefensivasAnálise de VulnerabilidadesExploraçãoExploração de Aplicações WebCriptografiaPapers e PesquisaAprendizado e Educação
GitHuboscerd/cve-2026-85243

CVE-2026-85243

Prova de conceito executável em Spring Boot e Quarkus para a CVE-2026-85243, demonstrando o downgrade da verificação de integridade do camel-crypto-pgp do Apache Camel e sua correção.

Ver Repositório
há 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-85243 — camel-crypto-pgp: downgrade da verificação de integridade (pacote legado ignora a verificação)

Reprodutor de prova de conceito executável para a vulnerabilidade do Apache Camel em que o unmarshal() do formato de dados PGP verificava o código de detecção de modificação apenas quando a mensagem usava o pacote de dados protegido por integridade criptografado simetricamente do OpenPGP. O antigo pacote de dados criptografado simetricamente não carrega esse código, e o modo CFB do OpenPGP é maleável sem ele, portanto uma mensagem que usava esse pacote legado ignorava completamente a verificação de integridade. Como o tipo de pacote é escolhido por quem produziu a mensagem, o remetente — ou qualquer pessoa capaz de reescrever a mensagem em trânsito — decidia se a verificação de integridade se aplicava ou não. A opção integrity existente governa apenas a marshalling e não tinha contrapartida no lado da descriptografia, portanto uma implantação não podia exigir proteção de integridade nas mensagens que aceitava.

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

Ambos os módulos demonstram o comportamento afetado e o corrigido.

O que demonstra

O driver de exploração desempenha o papel de um remetente (ou de um intermediário) que produz uma mensagem PGP com o pacote legado criptografando com integrity=false — o texto cifrado resultante não carrega código de detecção de modificação. Em seguida, alimenta essa mensagem a uma rota que a descriptografa com a chave secreta.

  • Afetado: a mensagem é descriptografada e seu texto simples (BENIGN-PGP-PAYLOAD-MARKER-5E1F) é retornado — a verificação de integridade foi completamente ignorada porque o remetente escolheu o pacote legado. A implantação aceitou texto cifrado que não conseguia verificar.
  • Corrigido: o descriptografador rejeita a mensagem com uma PGPException — "PGP message is not integrity protected…" — porque a nova opção requireIntegrityProtection tem como padrão true.

Os chaveiros (pubring.gpg, secring.gpg, id de usuário e senha ambos sdude) são os fixtures de teste RSA-2048 públicos dos próprios testes camel-crypto-pgp do Apache Camel — material inerte, incluído para que a ida e volta seja autocontida.

# Camel Spring Boot
cd camel-spring-boot
mvn clean package
docker compose up -d --build
curl -s http://localhost:8080/exploit/attack     # affected: legacy message decrypts; >>> PROVEN
docker compose down
# Patched control
mvn clean package -Dcamel.version=4.22.1
java -jar target/cve-2026-85243-crypto-pgp-integrity-downgrade-0.0.1-SNAPSHOT.jar &
curl -s http://localhost:8080/exploit/attack     # fixed: rejected "not integrity protected"; >>> 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.15.0): legacy message decrypts
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: rejected "not integrity protected"

Resumo da Vulnerabilidade

PropriedadeValor
Componentecamel-crypto-pgp (PGPKeyAccessDataFormat.unmarshal)
CWECWE-354 (Validação Imprópria do Valor de Verificação de Integridade)
SeveridadeMÉDIA
Vetor de ataqueUma mensagem produzida com o pacote de dados criptografados simetricamente legado (sem código de detecção de modificação)
ImpactoRebaixamento da verificação de integridade: o remetente/intermediário decide se a verificação de integridade é executada; texto cifrado maleável é aceito sem verificação
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-24441
CréditoClaude Security Scan Tool

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

A correção

PGPKeyAccessDataFormat.unmarshal adiciona uma opção requireIntegrityProtection (padrão true). Quando uma mensagem não é um pacote protegido por integridade e a opção está habilitada, unmarshal agora lança PGPException("PGP message is not integrity protected…") em vez de descriptografá-la. Observe que signatureVerificationOption ainda tem como padrão optional, portanto uma mensagem sem assinatura ainda é aceita; as duas opções juntas são o que conferem autenticidade a uma mensagem descriptografada, e não apenas confidencialidade. Defina requireIntegrityProtection=false apenas para interoperar com um remetente que ainda emite o pacote legado, e trate o conteúdo descriptografado como não autenticado.

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

Rejeite mensagens que não usam o pacote protegido por integridade antes que elas cheguem ao data format (por exemplo, inspecione o cabeçalho do pacote OpenPGP em um processor antes do unmarshal).

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. Os keyrings e o texto em claro são fixtures de teste públicos e inertes. Não use este material contra sistemas que você não possui ou opera.

Baixar ferramenta