CVE-2026-40047
Apache Camel: Camel-Docling: Validación insuficiente de argumentos CLI personalizados permite inyección de argumentos y path traversal en DoclingProducer
- Publicado
- 6 jul 2026
- Actualizado
- 6 jul 2026
- Asignación de CNA
- apache
- Evidencia observada
- 6 ago 2026
CVSS primario
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:NBajo · próximos 30 días
- Percentil
- 83,4 %
- Fecha del modelo
- 21 sept 2026
EPSS es una estimación estadística, no una certeza o una medida de impacto. Combínelo con CVSS, estado KEV, exposición y su entorno.
Resumen
Vulnerabilidad de neutralización inadecuada de delimitadores de argumentos en un comando ('Inyección de argumentos') en el componente Apache Camel Docling. El componente camel-docling invoca la herramienta externa de línea de comandos `docling` ensamblando una lista de argumentos en DoclingProducer y ejecutándola mediante java.lang.ProcessBuilder. Los argumentos CLI personalizados suministrados a través del encabezado de intercambio `CamelDoclingCustomArguments` (un List<String>) se añadían a esa lista de argumentos con una validación insuficiente: la implementación original se basaba en una lista de denegación de indicadores no permitidos y solo rechazaba valores de ruta que contenían una secuencia literal `../`. Como resultado, una ruta Camel que reenvía datos influenciados externamente al encabezado `CamelDoclingCustomArguments` (o a los encabezados que contienen rutas utilizados para construir la invocación) podría hacer que el productor pasara indicadores CLI de `docling` no reconocidos o no deseados al subproceso, y podría suministrar valores de argumentos similares a rutas que se resolvieran fuera del directorio previsto mediante secuencias de traversal no detectadas por la comprobación literal de `../`. Debido a que Camel mismo construye la invocación de `docling` a partir de estos valores, el componente es responsable de restringirlos, y la validación débil permitía la inyección de argumentos CLI y el directory traversal en los argumentos pasados a la herramienta externa. La invocación utiliza la forma basada en lista de ProcessBuilder, por lo que un shell no interpreta los valores de los argumentos; la inyección de comandos del sistema operativo mediante metacaracteres de shell no era posible, y el rechazo de metacaracteres añadido por la corrección es defensa en profundidad. Este problema afecta a Apache Camel: desde 4.15.0 hasta antes de 4.18.3. Se recomienda a los usuarios actualizar a una versión que contenga la corrección CAMEL-23212. En la línea principal, la corrección se incluye desde Apache Camel 4.19.0 (y versiones posteriores como 4.20.0). Para los usuarios de la serie de versiones LTS 4.18.x, actualice a 4.18.3. La corrección reemplaza la lista de denegación por una lista de permitidos estricta de indicadores CLI de `docling` reconocidos (rechazando cualquier indicador no reconocido y rechazando indicadores gestionados por el productor, como los indicadores de directorio de salida), rechaza defensivamente los metacaracteres de shell en los valores de los argumentos y normaliza los valores similares a rutas con Path.normalize() antes de validarlos para que se detecten las secuencias de traversal que evitan una comprobación literal de `../`. Como defensa en profundidad, los autores de rutas deben evitar mapear contenido de mensajes no confiable al encabezado `CamelDoclingCustomArguments` y a los encabezados que contienen rutas, y deben eliminar los encabezados internos de Camel de los mensajes que llegan de productores no confiables.
Uso responsable
Utilice información sobre vulnerabilidades solo en sistemas de su propiedad o que esté autorizado a probar. Kitploit enlaza con metadatos de investigación pública y no almacena código de explotación ni cargas útiles maliciosas.