Cloudflare近期披露其Containers平台存在跨租户数据泄露漏洞,该平台亦为Cloudflare Sandboxes提供支持,Workers付费账户客户可恢复其他客户遗留的磁盘块。此次漏洞源于底层存储分配器的设计缺陷,并非边界问题。安全研究员9月4日通过赏金计划报告,经研究确认受影响的资源池采用64KiB精简块,配置skip_block_zeroing选项,这一组合导致跨客户共享资源池分配新块时未执行清零操作。研究人员在6个生产部署中,2700个外部目录索引节点、24个部署点22个节点共发现2700个残留数据,包括目录、数据库页及完整SQLite数据库。Cloudflare明确说明攻击无法选择受害者、工作负载或主机,无法直接读取磁盘且残留数据存在性难以保证,暴露取决于工作负载部署位置及块重分配情况。该漏洞暴露了存储层隔离机制失效,长期反复出现,Visa高级云安全工程师指出需强化分配时清零等检查机制而非仅依赖网络隔离,从业者可将其应用于容器或无服务器平台。目前修复已初步完成清理,但仅靠修复不足以完全解决,后续需持续验证存储分配机制并完善隔离标准。

--91likeyou---

研究人员利用 ext4 目录块校验和,将自己写入的块与其他所有人的块区分开来。在六个生产环境部署中,所有 5614 个可测试的目录块均来自其他用户,共识别出 2700 个不同的外部目录索引节点。在横跨四大洲的 24 个部署点以及 22 个底层节点中,分别有 18 个和 20 个发现了残留数据。成功恢复的块类型包括目录结构、数据库页以及结构完整的 SQLite 数据库。

Cloudflare 对这些限制做了明确说明:攻击者无法选择受害者、工作负载或主机,无法读取正在连接的磁盘,也无法保证残留数据是否存在。数据暴露取决于 Cloudflare 将工作负载部署到了什么位置,以及 dm-thin 恰好重新分配了哪些已释放的块。研究人员并未演示如何篡改其他客户的数据,也未展示任何对可用性的影响。

在 LinkedIn 上,安全从业者的讨论重点并不是平台本身,而是隔离机制在何处出现了故障。Visa 高级云安全工程师 Peter Ward 指出,这种情况会反复出现:

这是存储层的租户隔离机制失效,而非应用程序 Bug。

他认为,对于临时磁盘和共享主机,控制平面应明确实施“分配时清零”或“释放时擦除”检查,而不能仅依赖网络隔离;他还提供了一个测试方法,团队可以将其应用于任何容器或无服务器平台:检查每个被重复使用的卷路径是否在分配时进行了清零,并将共享存储上的残留数据视为首要的隔离控制项。

从事云计算和网络安全领域工作的技术专家 Sherin Shahanas 指出,根本原因很少得到验证:

“隔离”通常只是架构层面的说法,而不是在存储层做过单独测试的内容。

对于运行任何共享基础设施类型(无论是容器、虚拟机还是共享虚拟化集群)的团队,他提了一个问题:他们是否知道,还是仅仅假设,已经释放的块在被重新使用前已经清零了。

这个问题提得恰逢其时。该漏洞披露恰好发生在两款产品发布之间:微软正式发布 Azure Container Apps Sandboxes,称每个工作负载都在硬件隔离的微虚拟机(microVM)边界内运行;谷歌则发布了 GKE Pod 快照的基准测试结果——该功能可以利用 gVisor 对内存和磁盘进行检查点备份,并将结果存储在 Cloud Storage 中。这两家供应商都在为执行不可信代码的智能代理工作负载提供隔离方案。Cloudflare 的漏洞披露提醒我们,保障范围不只涉及公告中提到的层级,还包括那些层级之下的所有层级,包括块分配器。

如果这些反应具有代表性,那么从业者从中得出的教训在于关注验证环节,而不单是供应商选择。Firecracker 的边界经受住了考验。数据泄露问题出在边界之下。具体来说,是某个性能优化选项跳过了块复用时的清零操作。

Cloudflare 的响应非常迅速,但时间线显示,仅靠修复是不够的。该报告是 9 月 4 日 15:26(UTC)收到的。Cloudflare 于 18:45 创建了事件工单,21:27 合并了运行时修复程序,22:03 合并了针对新资源池和在线资源池的更改,并于当天 23:15 开始分批部署。部署于 9 月 7 日全部完成。

移除 skip_block_zeroing 恢复了新分配块的默认行为,但并未清理已映射到现有精简块设备中的块——无论这些块位于正在运行的容器磁盘中,还是位于各主机为 OCI 镜像层准备的快照缓存中。新容器可能会继承这些映射关系,而不是重新分配这些块。因此,Cloudflare 停用了所有正在运行的容器磁盘,在非高峰时段清空了主机数据,重启了虚拟机,并清空了每台主机的镜像缓存。该清理工作已于 9 月 19 日完成。

研究人员证实,变更生效后,他们的概念验证已经无法正常运行。而且,在研究人员提交漏洞报告后,在他们控制下恢复的数据已经被安全地删除。Cloudflare 于 9 月 14 日发放了赏金。

:

🔥 热词:#cloudflare托管的网址被劫持了怎么办 · #cloudflare链接的项目备案了吗 · #cloudflare注册的域名使用其它厂商dns · #cloudflare支持的端口 · #cloudflare禁止访问的解决方法 · #cloudflare服务中断影响多家网站 · #cloudflare saas自定义防护等级 · #cloudflare tunnel配置saas回源