CVE-2026-40860: Apache Camel: desserialização insegura de ObjectMessage JMS em camel-jms, camel-sjms, camel-sjms2 e camel-amqp
A CVE-2026-40860 afeta o código de binding JMS do Apache Camel, que desserializa conteúdo de ObjectMessage JMS recebido sem nenhum filtro de classes. O CNA classifica a severidade como crítica, e o registro descreve possível execução remota de código quando há uma cadeia de gadgets no classpath. A principal ação de correção é atualizar para uma versão corrigida.
Visão geral
Os componentes da família JMS do Apache Camel, incluindo camel-jms, camel-sjms, camel-sjms2, camel-amqp e outros componentes baseados em JmsComponent, desserializam o corpo de valores ObjectMessage JMS recebidos sem ObjectInputFilter, lista de classes permitidas ou lista de classes bloqueadas. O registro da CVE classifica a fraqueza como CWE-502, Desserialização de Dados Não Confiáveis.
Impacto
O registro descreve possível execução remota de código quando há uma cadeia de gadgets de desserialização no classpath da aplicação. O invasor precisa conseguir publicar um ObjectMessage elaborado em uma fila ou tópico consumido por uma aplicação Camel. O CNA classifica o problema como crítico, com pontuação base CVSS de 9,8 e vetor de ataque pela rede, sem necessidade de privilégios nem interação do usuário.
Produtos e versões afetados
- Apache Camel de 3.0.0 antes de 4.14.7
- Apache Camel de 4.15.0 antes de 4.18.2
- Apache Camel de 4.19.0 antes de 4.20.0
O caminho de código afetado é alcançado quando a opção mapJmsMessage está habilitada, que é o padrão, e o Camel atua como consumidor JMS. O registro também informa que camel-sjms2, camel-amqp, camel-activemq e camel-activemq6 alcançam o mesmo tratamento pela hierarquia de classes.
Status de exploração
O catálogo KEV da CISA não lista esta CVE. Nenhuma exploração confirmada aparece nas fontes consultadas para esta análise. A probabilidade EPSS indicada no registro é 0,01534, que é uma pontuação estimada e não uma confirmação de exploração.
Correção e mitigação
- Atualize o Apache Camel para 4.20.0, que o registro identifica como versão corrigida.
- Usuários da série LTS 4.14.x devem migrar para 4.14.7, e usuários da série 4.18.x devem migrar para 4.18.2.
- Revise todos os componentes da família JMS em uso, inclusive o uso indireto por camel-sjms2, camel-amqp e componentes baseados em ActiveMQ, pois compartilham o tratamento afetado.
- Restrinja quais produtores podem escrever nas filas e tópicos consumidos e revise os controles de acesso do broker.
- Inferência: se uma rota não precisa da opção mapJmsMessage, desabilitá-la pode evitar o caminho afetado, mas isso deve ser validado com o comunicado do fornecedor antes de ser adotado.
Orientações de detecção
- Faça um inventário das aplicações que dependem de camel-jms, camel-sjms, camel-sjms2, camel-amqp ou de componentes JMS baseados em JmsComponent e registre as versões do Camel em uso.
- Monitore os brokers JMS quanto a tráfego ObjectMessage inesperado vindo de produtores que não deveriam enviar objetos serializados.
- Analise os logs das aplicações em busca de erros de desserialização ou mensagens inesperadas de carregamento de classes nos consumidores JMS.
Limitações das informações disponíveis
O campo de correções do registro está vazio, então as versões corrigidas foram extraídas da descrição e das faixas de versões afetadas, e não de uma lista estruturada de correções. A lista de afetados também contém uma entrada separada para a versão 4.19.0 que se sobrepõe à faixa. Um segundo provedor de pontuação informa 7,5 em vez de 9,8. O registro não traz detalhes de prova de conceito nem telemetria de exploração.
Perguntas frequentes
A CVE-2026-40860 é conhecida como explorada na prática?
O catálogo KEV da CISA não lista esta CVE, e nenhuma exploração confirmada aparece nas fontes consultadas nesta análise.
Qual versão do Apache Camel corrige o problema?
O registro recomenda atualizar para 4.20.0. Usuários da série LTS 4.14.x devem usar 4.14.7, e usuários da série 4.18.x devem usar 4.18.2.
Componentes além do camel-jms são afetados?
O registro informa que camel-sjms, camel-sjms2, camel-amqp e outros componentes da família JMS baseados em JmsComponent alcançam o mesmo tratamento.
Esta análise foi redigida com auxílio de IA a partir de dados verificados das fontes e checada automaticamente contra eles.