CVE-2026-90885
Apache Camel: elaborazione di entità esterne XML in Camel-Saxon - XQueryBuilder ha analizzato un corpo del messaggio che era già una javax.xml.transform.Source con le impostazioni predefinite del parser di Saxon, quindi un'entità esterna dichiarata in quel corpo è stata risolta
- Pubblicato
- 26 ott 2026
- Aggiornato
- 26 ott 2026
- Assegnazione CNA
- apache
- Evidenza osservata
- 30 ott 2026
CVSS primario
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:NBasso · prossimi 30 giorni
- Percentile
- 48,5%
- Data del modello
- 29 ott 2026
L'EPSS è una stima statistica, non una certezza o una misura di impatto. Combinalo con CVSS, stato KEV, esposizione e ambiente.
Riepilogo
Vulnerabilità di tipo Improper Restriction of XML External Entity Reference nel componente Apache Camel Saxon. Questo problema interessa Apache Camel: dalla 4.0.0 precedente alla 4.18.5, dalla 4.19.0 precedente alla 4.22.2. XQueryBuilder in camel-saxon, che valuta le espressioni per il linguaggio xquery e per il componente xquery, costruiva la propria Saxon Configuration predefinita con opzioni di parsing che impostavano soltanto una regola di rimozione degli spazi bianchi, lasciando il parser XML ai valori predefiniti, in base ai quali una dichiarazione DOCTYPE viene accettata e le entità esterne vengono risolte. Un corpo del messaggio di tipo String o byte[], o qualsiasi corpo letto come InputStream, viene prima convertito in un javax.xml.transform.Source dai convertitori di tipo XML di Camel, che configurano il parser contro le entità esterne, quindi quei corpi non erano interessati. Un corpo che era già un Source, tuttavia, veniva passato a Saxon senza modifiche e, quando quel Source doveva ancora essere analizzato, come accade per un Source basato su stream, Saxon lo analizzava con quella Configuration, aggirando la protezione applicata agli altri tipi di corpo. Un tale corpo si presenta, ad esempio, dopo che una route converte il messaggio con convertBodyTo(Source.class), oppure quando un componente o un processore precedente nella route imposta il corpo a un Source basato su stream. Un DOCTYPE con un sottoinsieme esterno, o un'entità esterna, dichiarato in quel corpo veniva quindi risolto ed espanso nel documento sul quale l'espressione veniva valutata. Un mittente esterno il cui XML raggiunge un'espressione XQuery o un endpoint xquery in quella forma poteva leggere file leggibili dal processo Camel e indurre il processo a effettuare richieste verso host indicati nel documento. Non è richiesta alcuna opzione non predefinita, poiché la Configuration predefinita viene utilizzata ogni volta che la route non ne fornisce una propria. Si raccomanda agli utenti di aggiornare alla versione 4.23.0, che corregge il problema. Se gli utenti si trovano sul ramo di release 4.22.x, si suggerisce di aggiornare alla 4.22.2. Se gli utenti si trovano sul ramo di release 4.18.x, si suggerisce di aggiornare alla 4.18.5. Il ramo di release 4.14.x e precedenti, così come le linee di release dalla 4.15.x alla 4.17.x e dalla 4.19.x alla 4.21.x, hanno raggiunto la fine del ciclo di vita prima che questo problema fosse risolto e non riceveranno una correzione, pertanto i deployment su di esse devono passare a una release supportata. Per i deployment che non possono aggiornare immediatamente, non valutare XQuery su un corpo del messaggio che è già un javax.xml.transform.Source quando quel corpo contiene XML proveniente da un mittente non attendibile, oppure impostare l'opzione di configurazione dell'endpoint o del linguaggio xquery su una Saxon Configuration le cui opzioni di parsing rifiutano una dichiarazione DOCTYPE e disabilitano le entità esterne e il caricamento di DTD esterni, che è ciò che le release corrette ora applicano per impostazione predefinita.
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.