CVE-2026-40047
Apache Camel : Camel-Docling : Validation insuffisante des arguments CLI personnalisés permettant une injection d'arguments et un traversement de chemin dans DoclingProducer
- Publié
- 6 juil. 2026
- Mise à jour
- 6 juil. 2026
- Attribution de CNA
- apache
- Preuve observée
- 6 août 2026
CVSS primaire
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:NFaible · 30 prochains jours
- Percentile
- 83,4 %
- Date du modèle
- 21 sept. 2026
EPSS est une estimation statistique, et non une certitude ou une mesure d'impact. Combinez-le avec CVSS, le statut KEV, l'exposition et votre environnement.
Résumé
Neutralisation inadéquate des délimiteurs d'arguments dans une commande (injection d'arguments) dans le composant Apache Camel Docling. Le composant camel-docling invoque l'outil externe `docling` en ligne de commande en assemblant une liste d'arguments dans DoclingProducer et en l'exécutant via java.lang.ProcessBuilder. Les arguments CLI personnalisés fournis via l'en-tête d'échange `CamelDoclingCustomArguments` (une List<String>) étaient ajoutés à cette liste d'arguments avec une validation insuffisante : l'implémentation d'origine reposait sur une liste de blocage d'indicateurs interdits et ne rejetait que les valeurs de chemin contenant une séquence littérale `../`. Par conséquent, une route Camel qui transmet des données influencées par des sources externes dans l'en-tête `CamelDoclingCustomArguments` (ou dans les en-têtes contenant des chemins utilisés pour construire l'invocation) pouvait amener le producteur à transmettre des indicateurs CLI `docling` non reconnus ou non intentionnels au sous-processus, et pouvait fournir des valeurs d'arguments de type chemin qui se résolvaient en dehors du répertoire prévu via des séquences de traversée non détectées par la vérification littérale `../`. Étant donné que Camel lui-même construit l'invocation `docling` à partir de ces valeurs, le composant est responsable de leur restriction, et la validation faible permettait l'injection d'arguments CLI et la traversée de répertoire dans les arguments transmis à l'outil externe. L'invocation utilise la forme basée sur une liste de ProcessBuilder, donc un shell n'interprète pas les valeurs d'arguments ; l'injection de commandes OS via des métacaractères de shell n'était pas possible, et le rejet des métacaractères ajouté par le correctif est une défense en profondeur. Ce problème affecte Apache Camel : de 4.15.0 avant 4.18.3. Il est recommandé aux utilisateurs de mettre à niveau vers une version contenant le correctif CAMEL-23212. Sur la branche principale, le correctif est inclus à partir d'Apache Camel 4.19.0 (et des versions ultérieures telles que 4.20.0). Pour les utilisateurs de la série de versions LTS 4.18.x, mettez à niveau vers 4.18.3. Le correctif remplace la liste de blocage par une liste blanche stricte d'indicateurs CLI `docling` reconnus (rejetant tout indicateur non reconnu, et rejetant les indicateurs gérés par le producteur tels que les indicateurs de répertoire de sortie), rejette de manière défensive les métacaractères de shell dans les valeurs d'arguments, et normalise les valeurs de type chemin avec Path.normalize() avant de les valider afin que les séquences de traversée qui contournent une vérification littérale `../` soient détectées. Par défense en profondeur, les auteurs de routes devraient éviter de mapper le contenu de messages non fiables dans l'en-tête `CamelDoclingCustomArguments` et les en-têtes contenant des chemins, et devraient supprimer les en-têtes internes de Camel des messages provenant de producteurs non fiables.
Utilisation responsable
Utilisez les informations de vulnérabilité uniquement sur les systèmes que vous possédez ou que vous êtes autorisé à tester. Kitploit renvoie aux métadonnées de la recherche publique et ne stocke pas de code d'exploitation ni de charges utiles malveillantes.