CVE-2026-40859
Apache Camel: Camel-Vertx-Http: Desserialização insegura de Java de corpos de resposta HTTP via um ObjectInputStream bruto quando transferException está habilitado
- Publicado
- 6 de jul. de 2026
- Atualizado
- 6 de jul. de 2026
- Atribuindo CNA
- apache
- Evidência observada
- 6 de ago. de 2026
CVSS primário
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:HBaixo · próximos 30 dias
- Percentil
- 57,2%
- Data do modelo
- 21 de set. de 2026
EPSS é uma estimativa estatística, não uma certeza ou uma medida de impacto. Combine-o com CVSS, status KEV, exposição e seu ambiente.
Resumo
# Vulnerabilidade de Desserialização de Dados Não Confiáveis no Apache Camel Vulnerabilidade de desserialização de dados não confiáveis no Apache Camel. O componente camel-vertx-http desserializa corpos de resposta HTTP que carregam o Content-Type application/x-java-serialized-object usando um java.io.ObjectInputStream bruto, sem aplicar nenhum ObjectInputFilter (VertxHttpHelper.deserializeJavaObjectFromStream). Esse caminho de desserialização é alcançado apenas quando o endpoint produtor está configurado com transferException=true (ou o allowJavaSerializedObject=true no nível do componente) e throwExceptionOnFailure é mantido em seu valor padrão de true; nesse caso, uma resposta HTTP de backend com status 5xx e o tipo de conteúdo application/x-java-serialized-object tem seu corpo desserializado sem restrições de classe. Um atacante que controla o backend com o qual o produtor Camel se comunica — por meio de uma posição de homem-no-meio em uma conexão não criptografada (HTTP simples) ou comprometendo o serviço de backend — pode retornar um objeto Java serializado malicioso e, se uma cadeia de gadgets adequada estiver presente no classpath, alcançar execução remota de código no host da aplicação Camel. O caminho não é alcançável na configuração padrão, onde transferException é false. Este problema afeta o Apache Camel: de 4.0.0 antes de 4.14.8, de 4.15.0 antes de 4.18.3, de 4.19.0 antes de 4.20.0. Recomenda-se que os usuários atualizem para a versão 4.20.0, que corrige o problema. Se os usuários estiverem no fluxo de versões LTS 4.14.x, sugere-se que atualizem para 4.14.8. Se os usuários estiverem no fluxo de versões 4.18.x, sugere-se que atualizem para 4.18.3. Após a atualização, a desserialização executada por ambos os utilitários auxiliares é restringida por um ObjectInputFilter padrão (allow-list java.**;javax.**;org.apache.camel.**;!*), que pode ser personalizado por meio da nova opção de endpoint deserializationFilter ou pela propriedade de sistema JVM -Djdk.serialFilter. Para implantações que não podem atualizar imediatamente: não habilite transferException=true (ou allowJavaSerializedObject=true) em produtores que se comunicam com backends não confiáveis ou acessíveis pela rede; garanta que as conexões do produtor usem TLS (https) para que uma resposta não possa ser substituída por um homem-no-meio; e, quando a opção for necessária, defina uma allow-list explícita de -Djdk.serialFilter (por exemplo, java.**;org.apache.camel.**;!*) para restringir a desserialização.
Uso responsável
Use informações de vulnerabilidade apenas em sistemas que você possui ou está autorizado a testar. O Kitploit vincula-se a metadados de pesquisa pública e não armazena código de exploração ou cargas maliciosas.