CVE-2026-95628
Apache Camel:Camel-Docling 自定义 CLI 参数路径校验未拒绝绝对路径(CVE-2026-40047 修复不完整)
- 已发布
- 2026年10月26日
- 已更新
- 2026年10月26日
- 分配 CNA
- apache
- 观察到的证据
- 2026年10月30日
初级CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:L低 · 未来 30 天
- 百分位
- 26.9%
- 型号日期
- 2026年10月29日
EPSS 是统计估计,而不是确定性或影响衡量标准。将其与 CVSS、KEV 状态、暴露程度和您的环境相结合。
总结
Apache Camel Docling 组件中存在将路径名不当限制在受限目录内的漏洞(“路径遍历”)。此问题影响 Apache Camel:4.15.0 至 4.18.5 之前,4.19.0 至 4.22.2 之前。DoclingProducer 构建外部 docling 工具的命令行,并将 CamelDoclingCustomArguments 头中提供的自定义参数追加到其中,该头是一个字符串列表,其标志已被 CVE-2026-40047 的修复限制为允许列表。该修复还引入了 validatePathSafety,以将类似路径的参数值保持在预期目录内,但该方法仅查找相对遍历:它会拒绝包含诸如 ../ 的遍历序列的值,以及规范化形式仍包含 .. 元素的值。它从未检查某个值是否为绝对路径,而不含遍历段的绝对路径两者都不包含,因此它原样通过。每个类似路径的值都会经过此检查,无论它是跟随其标志的单独列表元素,还是在等号后附加到标志上,因此绝对路径在任一形式下都会被接受,例如作为提供给允许列表中的 --artifacts-path 标志的目录,该标志告诉 docling 在哪里查找其模型工件。这样的值会按原样到达 docling 命令行,因此能够选择自定义参数的一方可以将 docling 进程指向 Camel 进程可访问的任何目录,位于该检查本意要将路径值保持在其中的工作目录之外,而这正是 CVE-2026-40047 修复旨在防止的结果。只有 CLI 模式(即默认模式)会将自定义参数传递给 docling。该头属于 Camel 头命名空间,应用 Camel 默认头过滤的消费者(例如 JMS 和 Kafka 消费者)会从传入消息中移除该头,因此该问题出现在路由将外部影响的值转发到该头中,或者消费者在没有该过滤的情况下映射传入头的情况下。建议用户升级到 4.23.0 版本,该版本修复了此问题。如果用户处于 4.22.x 发布流,则建议升级到 4.22.2。如果用户处于 4.18.x 发布流,则建议升级到 4.18.5。4.15.x 至 4.17.x 以及 4.19.x 至 4.21.x 发布线在此问题解决之前已达到生命周期终止,将不会收到修复,因此部署在这些版本上的用户必须迁移到受支持的版本。对于无法立即升级的部署,不要从源自部署外部的值构建 CamelDoclingCustomArguments 头,在来自外部的消息到达 docling 端点之前从这些消息中移除该头,并确保映射传入消息头的消费者丢弃 Camel 头命名空间,以便只有路由本身选择自定义参数。
来源
针对 CVE-2026-95628 的可运行概念验证复现程序,该漏洞是 Apache Camel camel-docling 中的绝对路径校验缺陷,包含 Spring Boot 和 Quarkus 测试框架以及修复验证。
负责任的使用
仅在您拥有或有权测试的系统上使用漏洞信息。 Kitploit 链接到公共研究元数据,并且不存储漏洞代码或恶意负载。