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
Atteinte à la confidentialité des données
Exploitation
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
• 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.22.x : versions 4.22.2 et supérieures
• Apache Camel branche 4.23.x : versions 4.23.0 et supérieures