產業脈動 2026 年 9 月 25 日

2026-09-25 — Cloudflare 容器磁碟未清零,跨租戶資料外洩風險

primary=https://blog.cloudflare.com/containers-cross-tenant-vulnerability/ primary=https://hackerone.com/reports/3997565

Cloudflare 容器磁碟未清零,跨租戶資料外洩風險

Cloudflare Blog · 2026-09-04 起事故時間軸(後續發布)

Cloudflare Containers 底層用來配置容器根磁碟的 dm-thin(Linux device mapper thin provisioning)儲存池,因為開啟了 skip_block_zeroing 設定,讓新租戶只要寫入一小塊資料,就有機會從磁碟剩餘空間讀出前一個租戶留下的殘留內容。外部資安研究員 Oren Yomtov(來自 Accomplish)透過 Cloudflare 的 bug bounty 計畫在 HackerOne 回報此問題(報告 #3997565),Cloudflare 在同一天內合併修補,三天內完成全面部署。

漏洞機制

dm-thin 以 64 KiB 為單位配置實體區塊。正常情況下,容器刪除後回收的區塊要先清零才能重新分配給下一個租戶;但受影響的儲存池啟用了 skip_block_zeroing,跳過了這道清零步驟。當新容器只寫入 4 KiB 資料時,dm-thin 仍會整塊配置 64 KiB 實體空間,其餘 60 KiB 卻保留著前一個擁有者未被覆寫的原始位元組。

攻擊者的作法是刻意對 ext4 檔案系統中對齊 64 KiB 邊界的空閒空間寫入資料,逼迫 dm-thin 配置到剛被回收、尚未清零的區塊,再直接讀取原始區塊裝置 /dev/vdc,取回其中未被自己寫入覆蓋的殘留部分。可能外洩的內容包括檔案系統中繼資料、目錄結構、資料庫分頁與應用程式資料。

項目修補前修補後
回收區塊的清零行為skip_block_zeroing 開啟,區塊回收後不清零套用 runtime 修補,移除殘留資料讀取路徑
已快取的舊區塊可能仍保留前租戶殘留資料2026-09-19 15:03 UTC 前,所有修補前的快取 snapshot 已全數清除
可利用範圍同一主機上任何 Workers Paid 帳戶的 Containers無法再透過寫入回收區塊讀取他人資料

受影響範圍

受影響的是與被攻擊容器共用同一主機的其他 Workers Paid 帳戶 Containers 使用者——只要租戶的容器磁碟建立在同一個啟用 skip_block_zeroing 的 dm-thin 儲存池上,理論上都可能被讀到殘留資料。但 Cloudflare 說明,攻擊者無法指定特定受害者,也無法讀取正在使用中的磁碟,只能被動撿到剛好落在同一主機、剛好被回收又還沒清零的區塊內容,屬於機會性外洩而非鎖定式攻擊。

時間(UTC)事件
2026-09-04 15:26Oren Yomtov 透過 HackerOne 回報漏洞
2026-09-04 18:45Cloudflare 確認為安全事故
2026-09-04 21:27runtime 修補合併,停止新配置沿用未清零區塊
2026-09-07 06:13修補全面部署完成,開始清理既有殘留
2026-09-19 15:03所有修補前的快取 snapshot 清除完畢

修補與緩解

從回報到合併 runtime 修補只花了約六小時,三天內完成全主機部署,再花約兩週時間逐一清除修補前殘留的快取 snapshot,直到 2026-09-19 才確認清理完畢。此事故未取得 CVE 編號,Cloudflare 也未發布獨立的資安公告,僅以事故說明文章對外揭露。

Cloudflare 表示沒有證據顯示客戶資料已被外洩,除了研究員本人的授權測試流量外,也沒有偵測到其他符合此攻擊手法特徵的活動。對於在 Cloudflare Containers 上運行、且方案為 Workers Paid 的租戶,官方認定的處置已隨快取清理與 runtime 修補完成而結束,不需要自行採取額外動作;但若特別在意這段期間曾存放於容器磁碟上的敏感資料(例如資料庫檔案、憑證、暫存的使用者資料),可以對照上述時間窗(2026-09-04 至 2026-09-19)評估是否需要輪替相關密鑰或機敏內容。

原始來源:Cloudflare Blog:How Cloudflare addressed a cross-tenant data exposure vulnerability in Containers、HackerOne 報告 #3997565


End of article
0
Would love your thoughts, please comment.x
()
x