Cloudflare 修复 Containers 跨租户漏洞,该漏洞会暴露客户数据
- 浏览次数 2561
- 喜欢 0
Cloudflare 已修复 Containers 和 Sandboxes 中的一个漏洞,该漏洞允许拥有 Workers Paid 账户的客户从同一物理主机上其他客户的容器中恢复残留数据。
Cloudflare Containers 是 Workers Paid 套餐中提供的一项服务,让开发者能够在 Cloudflare 的基础设施上运行容器化应用,与 Cloudflare Workers 并列。
在 Cloudflare 上构建应用的开发者和公司通常会使用它,包括运行后端服务、处理作业以及代码执行环境的用户。
该漏洞由科技公司 Accomplish 的安全研究员 Oren Yomtov 于 9 月 4 日通过 HackerOne 报告。
利用该漏洞可让攻击者读取其他客户的文件,包括目录列表、SQLite 数据库、Chromium 配置文件、.env 文件和凭据文件。
根据 Cloudflare 的披露,问题出在一个被配置为跳过对复用的 64 KiB 块进行清零的共享存储池上。
"当支撑容器根磁盘的精简卷被删除时,其物理块被归还到一个服务于多个客户账户工作负载的池中," Cloudflare 解释道。
通过只向新容器磁盘的一个未使用区域写入 4 KiB,研究人员可以促使一个被复用的 64 KiB 物理块被分配。由于没有清零操作,只有那 4 KiB 的写入会覆盖该块,从而使剩余的 60 KiB 保持可读状态,其中可能包含前一个客户的数据。
他们在 24 个容器放置位置中的 18 个、以及所测试的 22 个底层节点中的 20 个上发现了残留内容,包括目录结构、数据库页和结构完整的 SQLite 数据库。
"该漏洞可能允许拥有 Workers Paid 账户的客户从同一底层主机上其他客户 Containers 先前使用过的存储块中恢复残留数据," Cloudflare 表示。
"成功的利用会跨越租户隔离边界,并可能泄露文件系统元数据、目录结构、数据库页和应用数据。"
攻击者无法控制受害者或主机,也无法读取正在被挂载使用的磁盘。
风险评估与真实暴露情况
Cloudflare 表示,研究人员只使用了执行检查并返回汇总计数的脚本,而非实际的磁盘内容,因此在此次评估中没有真实客户数据被暴露。
研究人员也未展示任何可更改其他客户数据或干扰其在 Cloudflare 服务上工作负载的方法。
Cloudflare 移除了导致跳过块清零的设置,淘汰了现有的容器磁盘,并清除了可能包含旧映射的缓存快照,于 2026 年 9 月 19 日完成了所有缓解措施。
在检查日志、遥测和历史数据后,该公司未发现任何证据表明客户数据通过 Accomplish 所描述的方法被暴露。
Cloudflare 已自动对其基础设施应用了修复,客户无需采取任何行动来应对该风险。