Docker, macOS üzerinde çalışan Docker Sandboxes ortamında bulunan iki ayrı güvenlik açığının, sanal makine içindeki zararlı kodun ana bilgisayardaki proje dizininin dışına çıkarak host üzerindeki dosyaları okuyup değiştirmesine izin verebildiğini açıkladı. Kritik olarak değerlendirilen ilk açık CVE-2026-77179, 0.28.0 ile 0.42.0 arasındaki sürümleri etkiledi ve 7 Eylül’de yayımlanan 0.42.0 sürümünde kapatıldı. Şirket, bu zafiyet için duyurusunu 15 Eylül’de yaptı.
Docker Sandboxes, yapay zekâ destekli kodlama ajanlarını küçük sanal makinelerin içine yerleştiriyor ve proje dizinini bu ortama paylaşımlı klasör olarak bağlıyor. Açığın istismar edilmesi için gereken kod, bu sanal makine içinde çalışan her şey olabiliyor; örneğin kullanıcıya karşı çevrilmiş bir kodlama ajanı ya da ajanın indirdiği ve çalıştırdığı zararlı yazılım. Docker bugüne kadar bu açıkların istismar edildiğine dair bir bulgu paylaşmadı. CISA’nın CVE kaydına eklediği değerlendirmede de istismar bilgisi “yok” olarak yer aldı ve kayıt 16 Eylül itibarıyla CISA’nın Known Exploited Vulnerabilities listesinde bulunmuyordu.
Şirketin açıklamasına göre kaçış yolu, Mac ile sanal makine arasındaki dosya paylaşımını yöneten virtio-fs host sunucusundan geçiyor. Docker, host tarafındaki bu bileşenin daha önce kaydedilmiş bir yolu yeniden açarken sembolik bağlantıları takip ettiğini ve bunun saldırgana kapı araladığını belirtti. Sanal makine içindeki bir konuk, üst dizinlerden birini symlink ile değiştirerek VMM kullanıcısı olarak host üzerindeki dosyalara erişebiliyor ya da onları değiştirebiliyordu. Docker, bunun “host üzerinde kod çalıştırmaya kadar gidebileceğini” aktardı.
Docker’ın dokümantasyonu Mart ayından bu yana workspace dışına işaret eden symlink’lerin izlenmediğini söylüyor. Buna rağmen bu açık, host ile paylaşılmış proje alanı üzerinden bu korumanın nasıl aşılabildiğini gösteren bir örnek olarak kayda geçti. Etkilenen sürümler macOS tarafında 0.28.0’dan 0.42.0’a kadar uzanıyor. Docker, CVE-2026-77179 için platformu macOS olarak işaretliyor ancak Docker Sandboxes’in kendisi macOS, Windows ve Linux host’larda çalışabiliyor.
Docker, bu ilk zafiyeti virtio-fs host server bileşeninde izledi. Kayıt, bir konuk tarafının parent dizini symlink ile değiştirip ardından host üzerinde dosya okuma ya da değiştirme yapabileceğini, bunun da VMM kullanıcısı hesabı üzerinden gerçekleştiğini anlatıyor. Docker’ın notuna göre bu akışta görev yapan izinler, sanal makineyi çalıştıran host hesabının yetkileriyle sınırlı kalıyor. Şirket, sandbox’ın amacının da zaten konuk tarafında çalışan koddan host’u korumak olduğunu vurguluyor.
Docker’ın izolasyon dokümantasyonu da hipervizör sınırını “izolasyon kontrolü” olarak tanımlıyor; aynı metin, sanal makine içindeki ayrıcalık ayrımının bu katmanda sağlanmadığını söylüyor. Şirketin açıklamasına göre konuk, yani sanal makine içinde çalışan her şey, bir parent dizini symlink ile değiştirip ardından host tarafında okuma ya da yazma yapabiliyor. Docker, bunun “potansiyel olarak host üzerinde kod çalıştırmaya” yol açabileceğini kayda geçirdi.
İkinci açık Unix soket erişiminde ortaya çıktı
Aynı gün düzeltilen ikinci zafiyet CVE-2026-79994 olarak takip ediliyor. Docker bu açığı High seviyesinde, CVSS 8.7 puanla sınıflandırdı. Sorun, bir sandbox’ın yetkili workspace içindeki Unix domain socket’lere bağlanmasını sağlayan relay katmanında ortaya çıktı. İlgili mekanizma önce soket yolunun workspace içinde olup olmadığını kontrol ediyor, ardından yeniden bağlanma sırasında aynı yol adını kullanıyordu.
Bu tasarım, kontrol ile bağlantı arasında geçen kısa sürede dizin yapısının symlink ile değiştirilmesine izin veriyordu. Docker’ın açıklamasına göre konuk tarafı, bu aralığı kullanarak yol üzerindeki bir dizini symlink ile değiştirirse host’u workspace dışındaki herhangi bir AF_UNIX soketine bağlamaya zorlayabiliyordu. Şirket, bunun o soketin sağladığı veri akışını ya da host tarafı yeteneklerini açığa çıkarabileceğini söyledi.
Bu ikinci açık 0.37.0 ile 0.41.9 arasındaki sürümleri etkiledi, 0.42.0’da kapatıldı. İlk açık için olduğu gibi burada da CISA tarafında istismar bilgisi bulunmuyor ve kayıt KEV kataloğuna alınmış değil. Docker’ın notuna göre ilk açık yalnızca macOS ile ilişkilendiriliyor, ikinci açık için ise belirli bir platform belirtilmedi.
Docker, iki sorun için de 0.42.0 veya daha yeni bir sürüme geçilmesini istiyor. 17 Eylül itibarıyla en güncel sürüm 15 Eylül’de yayımlanan 0.43.0’dı. Şirket ayrıca yama uygulanana kadar clone mode kullanımını ve read-write host mount eklenmemesini tavsiye ediyor. sbx run komutu, varsayılan olarak geçerli dizini sandbox içine okuma ve yazma izniyle bağlıyor. Clone mode yalnızca proje bir Git deposuysa çalışıyor ve sandbox oluşturulurken etkinleştiriliyor; bu nedenle mevcut bir sandbox’ta modun devreye girmesi için ortamın –clone ile silinip yeniden kurulması gerekiyor.
Docker’ın dökümantasyonuna göre clone mode, depoyu değişikliklere karşı koruyor ancak okunabilirliğini kaldırmıyor. Depo /run/sandbox/source altında salt okunur biçimde bağlanıyor, işaretlenmemiş dosyalar ise sandbox içinden okunabiliyor. Bu nedenle .env gibi çalışma alanına eklenmemiş dosyalar erişilebilir kalıyor. Aynı yöntem, güvenlik ekiplerinin kendi ağlarında ya da kendi depo kopyalarında denetim yaparken de kullanılabiliyor; Docker’ın metni, clone mode’un çalışma alanını yazmaya kapatırken okumayı sürdürdüğünü açıkça belirtiyor.
Docker, CVE kayıtlarını ve uyarısını 15 Eylül’de yayımladı. Bu tarih, 0.42.0’ın çıkışından sekiz gün sonrasına denk geliyor. Ancak aynı sürümün GitHub’daki ve Docker dokümantasyon sitesindeki sürüm notlarında 17 Eylül itibarıyla iki CVE’ye de doğrudan atıf yapılmış değildi. Rutin düzeltmeler arasında, “sandbox içindeki bir süreç daemon’u host D-Bus taşıyıcısını açmaya zorlayıp host üzerinde rastgele bir komut çalıştırabiliyordu” ifadesi yer aldı. Docker bu düzeltmeyi iki CVE’den herhangi biriyle açık biçimde eşleştirmedi.
CVE-2026-79994 kaydında ilk etapta düzeltilmiş sürüm olarak 0.41.0 yazılmış ve bulunmayan bir 0.41.0 sürüm notuna bağlantı verilmişti. Docker, kaydı yayımladıktan yaklaşık bir saat sonra hem bu bilgiyi hem de 0.42.0 bağlantısını düzeltti. Şirket, CVE-2026-77179’u bulan Oren Yomtov’u accomplish.ai’den, CVE-2026-79994’ü bulan Jurre van Bergen’i ise ThreatNotify’den doğruladı.
Yılın başlarında Cyera Research Labs, Docker tabanlı bir sandbox içindeki prompt-injected bir kodlama ajanının, host tarafındaki ayrı bir Docker Engine açığını kullanmaya yönlendirilebildiğini anlatmıştı. Bu yeni duyuru, sandbox izolasyonunda paylaşımlı dosya yolları ve soket erişimi gibi alanların saldırı yüzeyini nasıl genişletebildiğini yeniden gündeme taşıdı.
CVE kayıtları: CVE-2026-77179 ve CVE-2026-79994.
