Perşembe günü Cloudflare ve açığı bulan araştırmacılar, Cloudflare Containers’ta bir kusur bulunduğunu ve bunun bir müşterinin aynı sunucudaki diğer müşterilerin konteynerlerinin geride bıraktığı verileri okumasına izin verdiğini açıkladı.
Cloudflare’a göre veriler canlı bir iş yükünden değil, daha önce kullanılmış ve bırakılmış disk alanından geldi ve saldırgan hangi veriyi elde edeceğini seçemedi. Şirket açığı hizmet genelinde düzelttiğini açıkladı ve müşterilerin bir şey yapmasına gerek olmadığını belirtti.
Cloudflare Containers, müşterilerin programlarını birçok hesabın paylaştığı sunuculardaki konteynerler içinde çalıştırır ve sunucuyu müşteri değil Cloudflare seçer. Konteynerler üzerinde çalışan ve AI ajanları tarafından yazılmış kod da dahil olmak üzere güvenilmeyen kodları çalıştırmak için güvenli bir yer olarak satılan Cloudflare Sandboxes da etkilendi.
Açık, 4 Eylül’de güvenlik firması Accomplish’ten Oren Yomtov tarafından Cloudflare’ın hata ödül programı aracılığıyla bildirildi.
Sorun paylaşılan disklerin nasıl kurulduğunda ortaya çıktı. Her konteyner, depolamayı 64 kilobaytlık bloklar halinde ayıran thin provisioning adı verilen bir Linux özelliğiyle oluşturulmuş bir disk alır. Bir konteyner silindiğinde blokları müşteri hesapları arasında paylaşılan bir havuza geri döner.
Bu havuz, bir bloğun bir sonraki konteynere verilmeden önce silinmesini atlayacak şekilde ayarlanmıştı ve silme işlemi normalde varsayılan ayardır. Böylece yeni bir konteyner yeniden kullanılan bir bloğa yalnızca küçük bir miktar yazdığında, bloğun geri kalanı önceki konteynerin verilerini hâlâ içeriyordu.
Araştırmacılar bunu görebilmek için kullanılmayan alana küçük bir dört kilobaytlık blok yazdı ve ardından bloğun tamamını ham disk seviyesinde geri okudu. Yazmadıkları 60 kilobyte hâlâ önceki bir konteynerden gelen baytları içeriyordu.
Üretim testlerinde araştırmacılar, Cloudflare’ın seçtiği sunucularda her denemede 24 denemenin 18’inde ve dört kıtadaki alt yapı makinelerinin 22’sinden 20’sinde artık materyal bulduklarını bildirdi.
Cloudflare’a göre kurtarılan bloklar dizin yapıları, veritabanı sayfaları ve yapısal olarak tam SQLite veritabanları içeriyordu; araştırmacıların kendi yazısı dizin listelerini, SQLite veritabanlarını, Chromium tarayıcı profillerini, .env dosyalarını ve kimlik bilgisi dosyalarını listeledi ve bunları diğer müşterilere ait dosyalar olarak tanımladı.
Araştırmacılar, analiz betiklerinin dosya içeriği değil yalnızca sayı ve biçim kontrolleri ürettiğini ve Cloudflare’a gönderdikleri materyalin üçüncü taraf isimleri, tanımlayıcıları, kimlik bilgileri veya kurtarılmış içerik içermediğini bildirdi.
Cloudflare, kurtarılan verilerin gizli tutulduğunu ve gönderildikten sonra güvenli şekilde silindiğini de doğruladıklarını açıkladı. Araştırmacılar açığın başka bir müşterinin canlı verisini değiştirebileceğini ya da bir iş yükünü çevrimdışı bırakabileceğini göstermedi.
Cloudflare açığı iki aşamada düzeltti. Önce yeni dağıtılan bloklar için silme işlemini yeniden etkinleştirdi ve bu sayede bildirilen yöntem durdu; araştırmacılar 14 Eylül’de kanıt kavramlarının artık çalışmadığını doğruladı.
Ancak bu değişiklik, çalışan konteyner disklerine eşlenmiş blokları ya da yeni bir konteynerin devralıp okuyabileceği her sunucunun hazır görüntü katmanları önbelleğini temizlemedi. Bu nedenle Cloudflare tüm çalışan konteyner disklerini emekli etti ve bu önbellekleri temizledi, sunucuları sessiz saatlerde boşaltıp yeniden başlattı. Temizliği 19 Eylül’de tamamladı ve açığı beş gün sonra duyurdu.
Cloudflare yöntemi başka kimsenin kullanıp kullanmadığına dair işaret aradığını açıkladı. Araştırmacıların kanıt kavramından ve saldırının kendi kopyasından tespit imzaları oluşturdu ve bunları tuttuğu disk aktivite kayıtlarına uyguladı. Yalnızca araştırmacıların ve kendi mühendislerinin yetkili testlerini bulduğunu ve bu özel yöntemin başkaları tarafından kullanıldığına dair bir kanıt görmediğini belirtti.
Bu bulgu Cloudflare’ın sakladığı kayıtları kapsıyor; şirket zaman aralığını ya da güvensiz ayarın ilk ne zaman devreye alındığını belirtmediğinden, maruziyetin ne kadar sürdüğü açıklamasından net değil.
Aynı disk kurulumunun Cloudflare’ın Browser Run ürününü de etkilediğini ayrı olarak belirten araştırmacılar, açığı Temmuz’dan bu yana yayımladıkları kod kum havuzundan altıncı kaçış olarak tanımladı; bu bulgular Anthropic’in Claude Cowork ve Claude Code’u, Cursor’un komut satırı aracı, Docker ve OpenAI’ın Codex’i izliyor. Cloudflare’ın yazısı etkilenenler olarak Containers ve Sandboxes’ı gösterdi ve Browser Run’dan söz etmedi.