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-84181 — Prova de conceito executável em Spring Boot e Quarkus que reproduz o bypass de autenticação thread-bound-subject do Apache Camel camel-shiro, com controles afetados e corrigidos. | Kitploit
Ferramentas/GitHubGitHub/oscerd/cve-2026-84181
Ferramentas DefensivasAnálise de VulnerabilidadesExploraçãoExploração de Aplicações WebAutenticaçãoAprendizado e Educação
GitHuboscerd/cve-2026-84181

CVE-2026-84181

Prova de conceito executável em Spring Boot e Quarkus que reproduz o bypass de autenticação thread-bound-subject do Apache Camel camel-shiro, com controles afetados e corrigidos.

Ver Repositório
3há 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-84181 — camel-shiro: bypass de autenticação via um subject vinculado à thread

Reprodutor de prova de conceito executável para a vulnerabilidade do Apache Camel em que o processador de segurança Shiro ignorava a verificação de credenciais quando o Subject do Shiro já vinculado à thread atual carregava o mesmo principal que o exchange de entrada. Como a thread que carrega um exchange do Camel é retirada de um pool e reutilizada entre exchanges, um subject deixado vinculado por um exchange autenticado anterior poderia satisfazer a verificação para um exchange posterior que apresentava nenhuma credencial válida própria — a senha desse exchange posterior nunca era verificada. O atacante não precisa de nada além de enviar uma requisição nomeando um principal que esteja atualmente em uso ativo.

RuntimeDiretórioStack
Camel Spring Bootcamel-spring-boot/Spring Boot 3.5.13 + camel-shiro 4.22.0 (afetado; corrigido em 4.22.1)
Camel Quarkuscamel-quarkus/Quarkus 3.29.0 + camel-quarkus-shiro (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

Uma rota é protegida por uma ShiroSecurityPolicy construída com alwaysReauthenticate=false — o modo documentado no qual o subject autenticado é deliberadamente mantido vinculado à thread de trabalho (do pool, reutilizada) entre exchanges. O driver de exploração, dentro de uma única thread de trabalho HTTP, executa dois exchanges em ordem:

  1. uma requisição legítima de ringo com a senha correta starr — ela autentica e deixa o subject do Shiro vinculado a esta thread (como uma requisição autenticada anterior faria em um serviço movimentado);
  2. uma requisição do atacante nomeando o mesmo usuário ringo mas com uma senha errada not-starr, na mesma thread.
  • Afetado: o segundo exchange é aceito sem verificar sua senha — ele se aproveita do subject deixado vinculado à thread pelo passo 1 — e alcança a lógica protegida. Bypass de autenticação.
  • Corrigido: as credenciais do segundo exchange são verificadas por conta própria e ele é rejeitado com uma AuthenticationException, mesmo que o mesmo usuário ainda esteja vinculado à thread.
# Camel Spring Boot
cd camel-spring-boot
mvn clean package
docker compose up -d --build
curl -s http://localhost:8080/exploit/attack     # affected: wrong password reaches protected logic; >>> PROVEN
docker compose down
# Patched control
mvn clean package -Dcamel.version=4.22.1
java -jar target/cve-2026-84181-shiro-auth-bypass-0.0.1-SNAPSHOT.jar &
curl -s http://localhost:8080/exploit/attack     # fixed: wrong password rejected; >>> 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): wrong password reaches protected logic
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: wrong password rejected

Resumo da Vulnerabilidade

PropriedadeValor
Componentecamel-shiro (ShiroSecurityProcessor.authenticateUser)
CWECWE-287 (Autenticação Incorreta)
SeveridadeMÉDIA
Vetor de ataqueUma requisição que nomeia um principal atualmente vinculado a uma worker thread reutilizada, sem portar credenciais válidas próprias
ImpactoBypass de autenticação: uma requisição não autenticada é aceita como um principal já vinculado; sua senha nunca é verificada
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-24439
CréditoClaude Security Scan Tool

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

A correção

ShiroSecurityProcessor.authenticateUser não pula mais o login quando o subject vinculado à thread já carrega o mesmo principal. O código anterior fazia um curto-circuito em currentUser.isAuthenticated() && username.equals(currentUser.getPrincipal()); um nome de usuário correspondente não diz nada sobre a senha apresentada com esta exchange. O processor agora chama currentUser.login(token) em toda exchange, de modo que as credenciais apresentadas são sempre verificadas. alwaysReauthenticate ainda controla a longevidade do rememberMe do subject, mas não condiciona mais se a senha é verificada.

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

Garanta que o subject do Shiro seja limpo da thread ao final de cada exchange (para que nenhum subject possa ser herdado por uma posterior) — por exemplo, com um onCompletion/processor que chame ThreadContext.unbindSubject() do Shiro — até que você possa atualizar.

Aviso Legal

Este repositório é publicado para fins educacionais e defensivos: para ajudar usuários do Apache Camel a entender a vulnerabilidade, verificar se são afetados e confirmar que a atualização a resolve. Os usuários, senhas e chaves aqui são fixtures locais inertes. Não use este material contra sistemas que você não possui ou opera.

Baixar ferramenta