Apache - CVE-2026-90885

Date de publication :

Il s’agit d’une vulnérabilité de type XXE (injection d’entités externes XML) dans le composant camel-saxon d’Apache Camel.

Apache Camel est un framework d’intégration open source. Il implémente les patterns d’intégration d’entreprise pour router et transformer des messages entre systèmes. Son composant camel-saxon ajoute la prise en charge de XQuery via la bibliothèque Saxon.

Elle se situe dans la classe XQueryBuilder, utilisée par le langage xquery et par le composant xquery. La configuration Saxon par défaut ne définit qu’une règle de suppression des espaces. L’analyseur XML garde donc ses paramètres par défaut. Il accepte alors une déclaration DOCTYPE et résout les entités externes. Les corps de type String, byte[] ou InputStream ne sont pas affectés. Les convertisseurs XML de Camel les transforment d’abord en Source avec un analyseur durci. Un corps déjà de type javax.xml.transform.Source est en revanche transmis tel quel à Saxon. Un Source basé sur un flux est alors analysé avec la configuration par défaut. Ce cas apparaît par exemple après convertBodyTo(Source.class). Il apparaît aussi lorsqu’un composant en amont positionne un Source en flux. Aucune option non par défaut n’est requise. Un expéditeur externe dont le XML atteint une expression XQuery ou un endpoint xquery peut déclarer un DOCTYPE avec un sous-ensemble externe ou une entité externe. L’entité est résolue et développée dans le document évalué.

Elle permet la lecture de fichiers accessibles au processus Camel et l’émission de requêtes vers des hôtes désignés par le document.

Informations

La faille est activement exploitée : Non

Un correctif existe : Oui

Une mesure de contournement existe : Oui

Risques

Atteinte à la confidentialité des données

Exploitation

La vulnérabilité exploitée est du type
CWE-611 : Improper Restriction of XML External Entity Reference

Détails sur l'exploitation
•   Vecteur d'attaque : Réseau
•   Complexité de l'attaque : Faible
•   Privilèges nécessaires pour réaliser l'attaque : Aucun
•   Interaction d'un utilisateur ayant accès au produit est-elle nécessaire : Non
•   L'exploitation de la faille permet d'obtenir des droits privilégiés : Non

Preuve de concept
Actuellement, aucune preuve de concept n'est disponible en sources ouvertes.

Systèmes ou composants affectés

  • Apache Camel (camel-saxon) versions 4.0.0 jusqu’à 4.18.4

  • Apache Camel (camel-saxon) versions 4.19.0 jusqu’à 4.22.1

Contournement provisoire

•   Ne pas évaluer XQuery sur un corps déjà de type javax.xml.transform.Source qui contient du XML d’un expéditeur non fiable.
•   Définir l’option configuration de l’endpoint ou du langage xquery sur une configuration Saxon qui refuse le DOCTYPE et désactive les entités externes et le chargement des DTD externes.

Solutions ou recommandations

•   Apache Camel branche 4.18.x : versions 4.18.5 et supérieures
•   Apache Camel branche 4.22.x : versions 4.22.2 et supérieures
•   Apache Camel branche 4.23.x : versions 4.23.0 et supérieures