CVE-2026-91858
Apache Camel: Camel-FOP risolve DTD ed entità esterne da input XSL-FO non attendibile quando è presente un TransformerFactory JAXP di terze parti
- Pubblicato
- 19 ott 2026
- Aggiornato
- 19 ott 2026
- Assegnazione CNA
- apache
- Evidenza osservata
- 21 ott 2026
CVSS primario
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:L/A:NBasso · prossimi 30 giorni
- Percentile
- 23,2%
- Data del modello
- 25 ott 2026
L'EPSS è una stima statistica, non una certezza o una misura di impatto. Combinalo con CVSS, stato KEV, esposizione e ambiente.
Riepilogo
FopProducer trasforma il corpo del messaggio XSL-FO in ingresso creando un javax.xml.transform.TransformerFactory tramite TransformerFactory.newInstance() e abilitando solo FEATURE_SECURE_PROCESSING prima di eseguire una trasformazione identità sul corpo. Sul transformer integrato nel JDK, quella sola funzionalità svuota già i limiti accessExternalDTD e accessExternalStylesheet, quindi una DTD o un'entità esterna viene rifiutata. Quando sul classpath è presente un TransformerFactory JAXP di terze parti come Saxon-HE, ad esempio perché l'applicazione utilizza anche camel-xslt-saxon o camel-saxon, TransformerFactory.newInstance() restituisce invece quell'implementazione, e FEATURE_SECURE_PROCESSING da sola non ne limita l'accesso alle risorse esterne. Un DOCTYPE con un sottoinsieme esterno, o un'entità generale esterna, dichiarato nel documento XSL-FO viene quindi risolto ed espanso durante la trasformazione del corpo. Un mittente esterno il cui XSL-FO raggiunge un producer fop potrebbe pertanto leggere file leggibili dal processo Camel e causare l'invio da parte del processo di richieste verso host indicati nel documento. camel-fop non introduce di per sé tale factory ed esclude Xalan, quindi un deployment predefinito che utilizza il transformer del JDK non è interessato; il problema è raggiungibile solo dove un altro componente ha collocato sul classpath un TransformerFactory JAXP alternativo. Le release della linea 4.14.x e precedenti hanno raggiunto l'end-of-life prima che questo problema fosse risolto e non ricevono una correzione.
Fonti
Reproducer eseguibile Spring Boot e Quarkus per CVE-2026-91858, una XXE in Apache Camel camel-fop tramite un TransformerFactory di terze parti, con verifica della versione affetta e di quella corretta.
Utilizzo responsabile
Utilizza le informazioni sulla vulnerabilità solo sui sistemi che possiedi o che sei autorizzato a testare. Kitploit si collega ai metadati della ricerca pubblica e non memorizza codici exploit o payload dannosi.