CVE-2026-91858
Apache Camel: Camel-FOP resolve DTDs e entidades externas a partir de entrada XSL-FO não confiável quando um TransformerFactory JAXP de terceiros está presente
- Publicado
- 19 de out. de 2026
- Atualizado
- 19 de out. de 2026
- Atribuindo CNA
- apache
- Evidência observada
- 21 de out. 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:L/A:NBaixo · próximos 30 dias
- Percentil
- 23,2%
- Data do modelo
- 25 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
O FopProducer transforma o corpo da mensagem XSL-FO recebido criando um javax.xml.transform.TransformerFactory por meio de TransformerFactory.newInstance() e habilitando apenas FEATURE_SECURE_PROCESSING antes de executar uma transformação de identidade sobre o corpo. No transformer integrado do JDK, essa única feature já esvazia os limites accessExternalDTD e accessExternalStylesheet, de modo que um DTD ou entidade externa é recusado. Quando um TransformerFactory JAXP de terceiros, como o Saxon-HE, está no classpath, por exemplo porque a aplicação também usa camel-xslt-saxon ou camel-saxon, TransformerFactory.newInstance() retorna essa implementação, e FEATURE_SECURE_PROCESSING por si só não restringe o acesso a recursos externos nela. Um DOCTYPE com um subconjunto externo, ou uma entidade geral externa, declarado no documento XSL-FO é então resolvido e expandido durante a transformação do corpo. Um remetente externo cujo XSL-FO chegue a um produtor fop poderia, portanto, ler arquivos legíveis pelo processo Camel e fazer com que o processo emitisse requisições para hosts nomeados no documento. O camel-fop não traz tal factory por si só e exclui o Xalan, então uma implantação padrão que usa o transformer do JDK não é afetada; o problema é alcançável apenas onde outro componente colocou um TransformerFactory JAXP alternativo no classpath. As versões da linha 4.14.x e anteriores chegaram ao fim de vida antes da resolução deste problema e não recebem correção.
Fontes
Reprodutor executável em Spring Boot e Quarkus para a CVE-2026-91858, uma XXE no Apache Camel camel-fop por meio de um TransformerFactory de terceiros, com verificação da versão afetada e da versão corrigida.
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.