CVE-2026-40047 (CVSS 9.1) - Improper Neutralization of Argument Delimiters in a Command ('Argument Injection

CVE-2026-40047是Apache Camel camel-docling组件中的参数注入与目录遍历漏洞(CVSS 9.1)。攻击者可通过构造恶意CamelDoclingCustomArguments头部,绕过硬编码黑名单,执行任意docling标志或读取任意文件。影响4.15.0至4.18.2版本,建议升级至4.18.3或4.19.0以上。

🔥 热门漏洞情报 · NVD-Latest · 2026-07-06

CVE-2026-40047 (CVSS 9.1) - Improper Neutralization of Argument Delimiters in a Command ('Argument Injection

Critical · CVSS 9.1 参数注入与目录遍历
CVE-2026-40047

📋 漏洞概述

Apache Camel camel-docling组件存在参数注入和目录遍历漏洞,允许攻击者通过未充分校验的CLI参数执行任意docling命令或访问任意文件。

📋 基础信息

受影响版本Apache Camel 4.15.0 至 4.18.2(含)
漏洞类型参数注入与目录遍历
CVSS9.1 · Critical
CVECVE-2026-40047

🔬 漏洞根因

DoclingProducer在构造docling命令行时,将来自CamelDoclingCustomArguments头部的用户可控字符串列表直接追加至参数列表中。原实现仅基于黑名单过滤了若干禁用标志,并仅拒绝包含字面'../'的路径;但攻击者可利用其他目录穿越序列(如'..\'或'....//')绕过检测,同时无法识别未知但危险的docling标志,导致参数注入。

🎯 攻击场景

1. 前提:存在一个Camel路由,允许外部输入流入CamelDoclingCustomArguments头部或路径相关头部(如头信息从HTTP请求反序列化)。 2. 攻击者构造包含恶意参数的List<String>,例如['--untrusted-flag', '/tmp/../../etc/passwd']。 3. 该头部被传递给DoclingProducer,process()方法直接将其追加至参数列表。 4. Java ProcessBuilder以非shell方式执行docling二进制,但参数中包含未经校验的标志和遍历路径。 5. docling工具处理到注入的标志时可能执行意料之外的操作,或读取/写入指定路径外的文件(如读取/etc/passwd并输出至响应)。

💥 漏洞影响

攻击者可利用参数注入导致docling执行意外操作(如远程配置下载、信息泄露);通过目录遍历实现读取任意文件(如密钥、配置文件)或写入任意位置(如覆盖可执行文件),导致权限提升或进一步远程代码执行。影响范围为所有使用受影响组件的Apache Camel集成服务。

🛡️ 修复建议

立即升级至Apache Camel 4.18.3(4.18.x LTS)或4.19.0及以上版本。临时缓解措施:在路由层对CamelDoclingCustomArguments头部实施严格白名单校验,仅允许已知安全的docling标志,并限制所有路径参数为绝对路径并以预期基目录开头;或禁用访问该头部的路由输入。

📎 参考链接

🚨 威胁评估

📈 EPSS 利用概率低 (1.3%) (高于 66.0% 的漏洞)
🚨 CISA KEV未被已知利用
🔧 公开 PoC1 个公开 PoC 仓库

⚠️ 本文由漏洞情报系统自动生成,仅供安全研究与防御参考。生成时间: 2026-07-09 08:13 | 来源: NVD-Latest

🤖 常见问题解答(FAQ)

❓ 该漏洞是否可远程利用?

是,若Camel路由暴露于外部输入(如HTTP、消息队列),攻击者无需认证即可通过控制CamelDoclingCustomArguments头部触发利用。

❓ 是否有公开可用的PoC?

是,GitHub仓库oscerd/CVE-2026-40047提供了复现该漏洞的PoC,演示了通过伪造参数列表触发目录遍历。

❓ 该漏洞是否可能导致完全远程代码执行?

直接OS命令注入不可能(因使用ProcessBuilder列表形式),但参数注入可指示docling执行危险操作(如下载恶意文件),结合目录遍历写入可执行文件,理论上可升级为RCE。

[!] CONTACT_CHANNELS

如需商务合作、技术咨询或漏洞反馈,请通过以下离岸节点联系作者。

> PING_AUTHOR (@A1RedTeam)