Apache Camel Azure Blob组件曝严重路径遍历漏洞,CVSS 9.1可致任意文件写入

Apache Camel Azure Storage Blob组件CVE-2026-66906,CVSS 9.1严重路径遍历漏洞。远程攻击者通过恶意blob名称可导致任意文件写入。本文分析攻击链、影响版本、修复建议及临时缓解措施,帮助防御者及时加固。

🔓 Critical 漏洞利用

Apache Camel的Azure Storage Blob组件存在相对路径遍历漏洞(CVE-2026-66906),攻击者通过上传包含父目录段的恶意blob名称,可诱导Camel将文件下载到配置目录之外的任意位置,实现文件创建或覆盖。该漏洞影响多个版本线,CVSS评分9.1,风险极高。

来源:NVD-Latest | 2026-08-24 | 原文链接

🔍 关键发现

  • downloadBlobToFile操作将远程blob名称直接与fileDir拼接,未做路径规范化或目录边界校验,导致blob名称中的../序列可逃逸到目标目录之外。
  • BlobConsumer默认不过滤blob名称,任何能向容器写入blob的人(包括外部用户)都能触发漏洞,覆盖目标进程权限可写路径上的文件。
  • 其他Camel文件下载组件(camel-file、camel-ftp等)已有路径段边界检查,而camel-azure-storage-blob未覆盖此防护,形成一致性问题。

⚔️ 攻击链分析

1. 攻击者向被Camel消费的Azure Blob容器上传一个恶意命名的blob,如../../victim.txt;2. Camel消费者枚举容器时获取该blob名称,未经净化创建exchange;3. 路由调用downloadBlobToFile,将fileDir与恶意名称拼成本地路径并下载,导致文件写入预期目录之外。

🚩 失陷指标 (IOC)

  • 恶意blob名称特征:包含../或..\等路径遍历序列
  • 异常写入行为:配置的fileDir外出现新文件或被篡改的系统文件

🛡️ 缓解建议

  • ✅ 升级到修复版本:4.22.0、4.14.9或4.18.4(根据发行流选择)。
  • ✅ 无法立即升级时,使用regex端点选项限制blob名称,仅接受简单单段名称,过滤任何路径分隔符或父目录段。
  • ✅ 避免对不可信容器使用downloadBlobToFile,改用路由中自控制文件名写入;并将所有外部blob名称视为不可信输入。

涉及漏洞:["CVE-2026-66906"]


⚠️ 本文仅供安全研究与学习,IOC 信息请勿用于非法目的。

🤖 常见问题解答(FAQ)

❓ 该漏洞是否可以通过Azure公共容器远程利用?

可以。只要攻击者能向被Camel消费的blob容器上传blob,且该容器允许匿名或低权限用户写入(或通过受感染的上游账号),即可远程触发。

❓ 升级到4.22.0后行为是否发生变化?

修复会确保下载目标始终限制在fileDir内,对包含路径分隔符或父目录段的blob名称将拒绝或安全处理,不再拼接原生名称。

❓ 利用该漏洞能否实现远程代码执行?

取决于Camel进程的写入权限。若可覆盖如cron任务、启动脚本、配置文件等敏感文件,可能进一步导致权限提升或代码执行,但直接目标是任意文件写。

[!] CONTACT_CHANNELS

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

> PING_AUTHOR (@A1RedTeam)