CVE-2026-66906 in Camelinformation

Résumé

par VulDB • 24/08/2026

Vulnérabilité de traversée de chemin relatif dans le composant Azure Storage Blob d'Apache Camel.

Ce problème affecte Apache Camel : des versions 4.0.0 avant la 4.14.9, des versions 4.15.0 avant la 4.18.4 et des versions 4.19.0 avant la 4.22.0.

Le composant camel-azure-storage-blob peut télécharger un blob Azure Storage vers le système de fichiers local via son opération downloadBlobToFile, en écrivant dans le répertoire nommé par l'option d'endpoint fileDir, qui est documentée comme utilisable à la fois par le producteur et le consommateur. BlobOperations.downloadBlobToFile construisait la cible locale en concaténant fileDir avec le nom du blob distant tel que rapporté exactement par le SDK Azure (new File(fileDir, client.getBlobName())) et transmettait ce résultat directement à l'appel de téléchargement du SDK, sans normalisation lexicale ni vérification que l'emplacement résolu restait dans fileDir. Le nom du blob n'est pas des données contrôlées par la route : le consommateur énumère le conteneur dans BlobConsumer.createBatchExchangesFromContainer, qui liste les blobs et crée un échange pour chaque entrée à partir de BlobItem.getName() tel quel, sans filtrage des noms par défaut. Un nom de blob contenant des segments de répertoire parent se résolvait donc en un emplacement situé hors du fileDir configuré, permettant à quiconque pouvant influencer les noms présents dans le conteneur consommé d'amener Camel à créer ou écraser un fichier à un endroit de son choix, avec les privilèges du processus Camel. Selon ce que le processus peut écrire, l'écrasement d'un fichier en dehors du répertoire de téléchargement peut entraîner une escalade au-delà de la simple perte d'intégrité de ce fichier. Les conteneurs de blobs Azure Storage utilisent un espace de noms plat dans lequel le nom du blob est une clé opaque ; ainsi, un nom comportant de tels segments y est stocké et listé tel quel. L'option fileDir est un paramètre de configuration courant ordinaire et ne porte aucun marqueur de sécurité, rien n'a donc signalé aux utilisateurs que sa valeur n'était pas appliquée comme limite d'enfermement (containment boundary). Les autres consommateurs de téléchargement de fichiers de Camel - camel-file, camel-ftp, camel-smb, camel-mina-sftp et camel-azure-files - limitaient déjà leurs téléchargements locaux au répertoire configuré à l'aide d'une vérification des limites par segment de chemin ; le chemin de téléchargement de camel-azure-storage-blob n'était pas couvert par ce travail.

Il est recommandé aux utilisateurs de mettre à niveau vers la version 4.22.0, qui corrige le problème. Si les utilisateurs utilisent les versions LTS de la série 4.14.x, il leur est suggéré de passer à la 4.14.9. Si les utilisateurs sont sur la branche des versions 4.18.x, il leur est suggéré de passer à la 4.18.4. Pour les déploiements qui ne peuvent pas mettre à niveau immédiatement, ils doivent contraindre les noms sur lesquels le consommateur va agir en utilisant l'option d'endpoint regex, qui s'applique à chaque nom de blob listé comme une correspondance exacte (full-string match), afin que seuls des noms simples à segment unique soient acceptés et qu'un nom comportant un séparateur de chemin ou un segment de répertoire parent soit filtré avant la création d'un échange ; l'option prefix peut également restreindre le listing côté serveur, en notant que lorsque les deux sont définies, regex a priorité et prefix est ignorée. Alternativement, évitez l'utilisation de l'opération downloadBlobToFile sur des conteneurs non fiables et écrivez la charge utile depuis la route sous un nom de fichier contrôlé par la route elle-même, plutôt qu'un nom issu du listing distant. En tant que défense en profondeur (defense in depth), traitez les noms de blob dans tout conteneur accessible en écriture externe comme des entrées non fiables et ne dérivez pas de chemins vers le système de fichiers local à partir de ceux-ci.

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

Divulgation

24/08/2026

Modérer

accepté

Entrée

VDB-394707

CPE

prêt

EPSS

0.00000

KEV

non

Activités

très faible

Sources

Want to stay up to date on a daily basis?

Enable the mail alert feature now!