CVE-2026-40047
Apache Camel: Camel-Docling: Validação insuficiente de argumentos CLI personalizados permite injeção de argumentos e travessia de caminho no DoclingProducer
- Publicado
- 6 de jul. de 2026
- Atualizado
- 6 de jul. de 2026
- Atribuindo CNA
- apache
- Evidência observada
- 6 de ago. de 2026
CVSS primário
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:NBaixo · próximos 30 dias
- Percentil
- 83,4%
- Data do modelo
- 21 de set. de 2026
EPSS é uma estimativa estatística, não uma certeza ou uma medida de impacto. Combine-o com CVSS, status KEV, exposição e seu ambiente.
Resumo
Neutralização Incorreta de Delimitadores de Argumentos em um Comando (Vulnerabilidade de 'Injeção de Argumentos') no componente Apache Camel Docling. O componente camel-docling invoca a ferramenta de linha de comando externa `docling` montando uma lista de argumentos em DoclingProducer e executando-a por meio de java.lang.ProcessBuilder. Argumentos de CLI personalizados fornecidos por meio do cabeçalho de troca `CamelDoclingCustomArguments` (um List<String>) foram anexados a essa lista de argumentos com validação insuficiente: a implementação original dependia de uma lista de bloqueio de flags proibidas e apenas rejeitava valores de caminho que continham uma sequência literal `../`. Como resultado, uma rota Camel que encaminha dados influenciados externamente para o cabeçalho `CamelDoclingCustomArguments` (ou para os cabeçalhos que contêm caminhos usados para construir a invocação) poderia fazer com que o produtor passasse flags de CLI `docling` não reconhecidas ou não intencionais para o subprocesso, e poderia fornecer valores de argumento semelhantes a caminhos que resolviam fora do diretório pretendido por meio de sequências de travessia não capturadas pela verificação literal de `../`. Como o próprio Camel constrói a invocação do `docling` a partir desses valores, o componente é responsável por restringi-los, e a validação fraca permitia injeção de argumentos de CLI e travessia de diretório nos argumentos passados para a ferramenta externa. A invocação usa a forma baseada em lista do ProcessBuilder, portanto um shell não interpreta os valores dos argumentos; injeção de comandos do sistema operacional por meio de metacaracteres de shell não era possível, e a rejeição de metacaracteres adicionada pela correção é defesa em profundidade. Este problema afeta o Apache Camel: de 4.15.0 antes de 4.18.3. Recomenda-se que os usuários atualizem para uma versão que contenha a correção CAMEL-23212. Na linha principal, a correção está incluída a partir do Apache Camel 4.19.0 (e versões posteriores, como 4.20.0). Para usuários no fluxo de versões LTS 4.18.x, atualize para 4.18.3. A correção substitui a lista de bloqueio por uma lista de permissões estrita de flags de CLI `docling` reconhecidas (rejeitando qualquer flag não reconhecida e rejeitando flags gerenciadas pelo produtor, como as flags de diretório de saída), rejeita defensivamente metacaracteres de shell em valores de argumentos e normaliza valores semelhantes a caminhos com Path.normalize() antes de validá-los, de modo que sequências de travessia que contornam uma verificação literal de `../` sejam detectadas. Como defesa em profundidade, os autores de rotas devem evitar mapear conteúdo de mensagem não confiável para o cabeçalho `CamelDoclingCustomArguments` e para os cabeçalhos que contêm caminhos, e devem remover cabeçalhos internos do Camel de mensagens que chegam de produtores não confiáveis.
Uso responsável
Use informações de vulnerabilidade apenas em sistemas que você possui ou está autorizado a testar. O Kitploit vincula-se a metadados de pesquisa pública e não armazena código de exploração ou cargas maliciosas.