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任务、启动脚本、配置文件等敏感文件,可能进一步导致权限提升或代码执行,但直接目标是任意文件写。