Cloudflare açığı kapattı: Konteynerler disk kalıntılarını okudu

Anasayfa » Cloudflare açığı kapattı: Konteynerler disk kalıntılarını okudu
Cloudflare açığı kapattı: Konteynerler disk kalıntılarını okudu

Cloudflare, paylaşımlı altyapısında bir konteynerin daha önce silinmiş başka bir müşteriye ait disk kalıntılarını okuyabildiği açığı kapattı. Şirkete göre sorun canlı iş yüklerine erişim sağlamıyordu, saldırgan seçtiği hedefin verisine de doğrudan yön veremiyordu; yine de aynı fiziksel sunucu üzerinde kalan eski bloklar yeni bir konteynere sızabiliyordu.

Açık, Cloudflare Containers ve bu yapı üzerinde çalışan Cloudflare Sandboxes hizmetlerini etkiledi. Containers, müşterilerin uygulamalarını çok kiracılı sunuculardaki konteynerlerde çalıştırıyor; sunucuyu müşteri değil Cloudflare seçiyor. Sandboxes ise özellikle güvenilmeyen kodları, yapay zekâ ajanlarının yazdığı kodlar dahil, güvenli bir ortamda çalıştırmak için pazarlanıyordu.

Disk blokları yanlış temizlenince eski veri geri okunabildi

İlk bildirimi 4 Eylül’de güvenlik firması Accomplish’ten Oren Yomtov yaptı ve başvuru Cloudflare’ın hata ödül programı üzerinden iletildi. Sorun, paylaşılan disklerin nasıl hazırlandığıyla ilgiliydi. Her konteynere Linux’un thin provisioning özelliğiyle kurulan bir disk veriliyor, depolama 64 kilobaytlık bloklar halinde ayrılıyordu.

Bir konteyner silindiğinde kullandığı bloklar, farklı müşteri hesaplarının da paylaştığı ortak bir havuza dönüyordu. Cloudflare’ın ilk ayarında bu havuzda blok yeni bir konteynere verilmeden önce temizlenmiyordu. Normal koşulda silme işlemi varsayılan davranış; ancak bu ayar kapalı kaldığı için, yeni konteyner bloğun yalnızca küçük bir kısmına yazdığında geri kalan bölümde önceki konteynerden kalan baytlar yerinde kalıyordu.

Araştırmacılar bu durumu göstermek için kullanılmamış alana yalnızca 4 kilobaytlık bir blok yazdı, ardından ham disk düzeyinde tüm bloğu okudu. Yazılmayan yaklaşık 60 kilobaytlık bölümde önceki konteynere ait veri parçaları kaldığı görüldü. Cloudflare, üretim ortamındaki testlerde bu yöntemin 24 denemenin 18’inde kalıntı veri ortaya çıkardığını, her denemenin Cloudflare’ın seçtiği bir sunucuda yapıldığını ve dört kıtaya yayılmış 22 temel makinenin 20’sinde benzer izler bulunduğunu açıkladı.

Şirket, geri kazanılan bloklarda dizin yapıları, veritabanı sayfaları ve yapısal olarak eksiksiz SQLite veritabanları bulunduğunu belirtti. Araştırmacıların kendi yazımında ise dizin listeleri, SQLite veritabanları, Chromium tarayıcı profilleri, .env dosyaları ve kimlik bilgisi dosyaları yer aldı. Bu dosyalar, başka müşterilere ait dosyalar olarak tanımlandı.

Araştırmacılar, analiz betiklerinin yalnızca sayım ve biçim denetimi çıktısı ürettiğini, dosya içeriği paylaşmadığını söyledi. Cloudflare da kendisine gönderilen materyallerde üçüncü taraf isimleri, tanımlayıcılar, kimlik bilgileri ya da geri kazanılmış içerik bulunmadığını aktardı. Taraflar ayrıca elde edilen verinin gizli tutulduğunu ve gönderimden sonra güvenli biçimde silindiğini doğruladı. Ekip, bu açığın başka bir müşterinin canlı verisini değiştirmesine ya da bir iş yükünü çevrimdışı bırakmasına dair kanıt sunmadı.

Cloudflare düzeltmeyi iki aşamada uyguladı

Cloudflare önce yeni dağıtılan bloklarda temizlemeyi yeniden açtı. Bu adım, araştırmacıların gösterdiği yöntemi durdurdu; 14 Eylül’de doğrulanan testlerde kavram ispatı artık çalışmıyordu. Ancak bu değişiklik, zaten çalışan konteyner disklerine eşlenmiş blokları ve sunucuların hazır görüntü katmanları önbelleğini temizlemiyordu. Yeni bir konteyner bu kalıntıları devralıp okuyabiliyordu.

Bunun üzerine şirket, çalışan tüm konteyner disklerini kullanım dışı bıraktı ve bu önbellekleri temizledi. Süreç, sessiz saatlerde sunucuların boşaltılıp yeniden başlatılmasını gerektirdi. Cloudflare, bu temizliği 19 Eylül’de tamamladı ve açığı beş gün sonra kamuya açıkladı.

Şirket ayrıca, aynı yöntemin başkaları tarafından kullanılıp kullanılmadığını inceledi. Araştırmacıların kavram ispatı ve Cloudflare’ın kendi saldırı kopyasından tespit imzaları üreterek daha önce tuttuğu disk etkinliği kayıtlarını taradı. İnceleme yalnızca araştırmacıların ve şirket içi mühendislerin yetkili testlerini işaret etti; Cloudflare, bu özel yöntemin başka biri tarafından kullanıldığına dair kanıt görmediğini söyledi.

Bu bulgu, şirketin sakladığı kayıtlarla sınırlı. Cloudflare, güvenli olmayan ayarın ne zaman devreye alındığını ya da maruz kalmanın ne kadar sürdüğünü açıklamadı; bu nedenle risk penceresi kendi anlatımında netleşmedi.

Araştırmacılar, aynı disk kurulumunun Cloudflare’ın Browser Run ürününü de etkilediğini ayrıca belirtiyor. Onların anlatımına göre bu açık, Temmuz ayından bu yana yayımlanan altıncı kod kum havuzu kaçışı oldu. Aynı çizgide daha önce Anthropic’in Claude Cowork ve Claude Code ürünlerinde, Cursor’un komut satırı aracında, Docker’da ve OpenAI’ın Codex sisteminde benzer bulgular paylaşılmıştı. Cloudflare’ın duyurusunda ise etkilenen ürünler olarak Containers ve Sandboxes yer aldı; Browser Run’a değinilmedi.