CVE-2026-95628 in Camel
Résumé
par VulDB • 26/10/2026
Vulnérabilité de limitation incorrecte d'un nom de chemin vers un répertoire restreint ('Path Traversal') dans le composant Docling d'Apache Camel.
Cette vulnérabilité affecte Apache Camel : des versions 4.15.0 à avant la 4.18.5, et des versions 4.19.0 à avant la 4.22.2.
Le `DoclingProducer` construit la ligne de commande de l'outil externe docling et y ajoute les arguments personnalisés fournis dans l'en-tête CamelDoclingCustomArguments, qui est une liste de chaînes dont les indicateurs (flags) ont été restreints à une liste blanche par la correction du CVE-2026-40047. Cette correction a également introduit `validatePathSafety` pour maintenir les valeurs d'arguments de type chemin dans le répertoire prévu, mais cette méthode ne vérifiait que les traversées relatives : elle rejetait une valeur contenant une séquence de traversal telle que `../`, ainsi qu'une valeur dont la forme normalisée conservait un élément `..`. Elle ne vérifiait jamais si une valeur était un chemin absolu ; or, un chemin absolu sans segments de traversal ne contient ni l'un ni l'autre, il passait donc inchangé. Chaque valeur de type chemin a été soumise à cette vérification, qu'il s'agisse d'un élément distinct suivant son indicateur ou attachée à celui-ci après un signe égal ; ainsi, un chemin absolu était accepté sous les deux formes, par exemple en tant que répertoire fourni à l'indicateur `--artifacts-path` de la liste blanche, qui indique à docling où trouver ses artefacts de modèle. Une telle valeur atteignait la ligne de commande docling telle quelle ; ainsi, une partie capable de choisir les arguments personnalisés pouvait diriger le processus docling vers n'importe quel répertoire accessible par le processus Camel, en dehors du répertoire de travail que la vérification était censée protéger pour les valeurs de chemin. C'est précisément l'issue que la correction du CVE-2026-40047 visait à empêcher. Seul le mode CLI (par défaut) transmet des arguments personnalisés à docling. L'en-tête appartient à l'espace de noms des en-têtes Camel, qui est supprimé des messages entrants par les consommateurs appliquant le filtrage d'en-têtes par défaut de Camel, tels que les consommateurs JMS et Kafka ; la vulnérabilité est donc exploitable lorsque une route transfère des valeurs influencées externement vers l'en-tête ou lorsqu'un consommateur mappe des en-têtes entrants sans ce filtrage.
Il est recommandé aux utilisateurs de mettre à niveau vers la version 4.23.0, qui corrige le problème. Si les utilisateurs utilisent les versions de la branche 4.22.x, il leur est suggéré de passer à la 4.22.2. S'ils sont sur la branche des versions 4.18.x, ils devraient mettre à niveau vers la 4.18.5. Les lignes de version 4.15.x à 4.17.x et 4.19.x à 4.21.x ont atteint leur fin de vie avant que ce problème ne soit résolu et ne recevront pas de correctif ; les déploiements basés sur ces versions doivent donc migrer vers une version prise en charge. Pour les déploiements qui ne peuvent pas mettre à niveau immédiatement, il est conseillé de ne pas construire l'en-tête CamelDoclingCustomArguments à partir de valeurs provenant de sources externes, de supprimer cet en-tête des messages arrivant de l'extérieur avant qu'ils n'atteignent un point final docling, et de s'assurer que les consommateurs qui mappent les en-têtes de message entrants suppriment l'espace de noms Camel, afin que seul le routeur lui-même choisisse les arguments personnalisés.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.