CVE-2026-90885
Apache Camel: Processamento de Entidade Externa XML do Camel-Saxon — XQueryBuilder Analisou um Corpo de Mensagem Que Já Era um javax.xml.transform.Source Com as Configurações Padrão do Parser do Saxon, de Modo Que uma Entidade Externa Declarada Nesse Corpo Foi Resolvida
- Publicado
- 26 de out. de 2026
- Atualizado
- 26 de out. de 2026
- Atribuindo CNA
- apache
- Evidência observada
- 30 de out. de 2026
CVSS primário
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:NBaixo · próximos 30 dias
- Percentil
- 48,6%
- Data do modelo
- 31 de out. 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 Restrição Imprópria de Referência a Entidade Externa XML no componente Saxon do Apache Camel. Este problema afeta o Apache Camel: de 4.0.0 antes de 4.18.5, de 4.19.0 antes de 4.22.2. O XQueryBuilder no camel-saxon, que avalia expressões para a linguagem xquery e o componente xquery, construía sua Saxon Configuration padrão com opções de análise que definiam apenas uma regra de remoção de espaços em branco, deixando o analisador XML com seus padrões, sob os quais uma declaração DOCTYPE é aceita e entidades externas são resolvidas. Um corpo de mensagem do tipo String ou byte[], ou qualquer corpo lido como um InputStream, é primeiro convertido em um javax.xml.transform.Source pelos próprios conversores de tipo XML do Camel, que configuram o analisador contra entidades externas, portanto esses corpos não eram afetados. Um corpo que já era um Source, no entanto, era entregue ao Saxon sem alterações, e quando esse Source ainda precisava ser analisado, como faz um Source baseado em stream, o Saxon o analisava com essa Configuration, contornando a proteção aplicada aos outros tipos de corpo. Tal corpo surge, por exemplo, após uma rota converter a mensagem com convertBodyTo(Source.class), ou quando um componente ou processador anterior na rota define o corpo como um Source baseado em stream. Um DOCTYPE com um subconjunto externo, ou uma entidade externa, declarado nesse corpo era, portanto, resolvido e expandido no documento contra o qual a expressão era avaliada. Um remetente externo cujo XML chega a uma expressão XQuery ou a um endpoint xquery nessa forma poderia ler arquivos legíveis pelo processo do Camel e fazer com que o processo emitisse requisições para hosts nomeados no documento. Nenhuma opção não padrão é necessária, pois a Configuration padrão é usada sempre que a rota não fornece uma própria. Recomenda-se que os usuários atualizem para a versão 4.23.0, que corrige o problema. Se os usuários estiverem na linha de versões 4.22.x, sugere-se atualizar para 4.22.2. Se os usuários estiverem na linha de versões 4.18.x, sugere-se atualizar para 4.18.5. A linha de versões 4.14.x e anteriores, bem como as linhas de versões 4.15.x a 4.17.x e 4.19.x a 4.21.x, atingiram o fim de vida antes que este problema fosse resolvido e não receberão correção, portanto implantações nessas versões devem migrar para uma versão suportada. Para implantações que não podem atualizar imediatamente, não avalie XQuery sobre um corpo de mensagem que já seja um javax.xml.transform.Source quando esse corpo carregar XML de um remetente não confiável, ou defina a opção de configuração do endpoint ou da linguagem xquery para uma Saxon Configuration cujas opções de análise recusem uma declaração DOCTYPE e desabilitem entidades externas e o carregamento de DTD externo, que é o que as versões corrigidas agora aplicam por padrã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.