« Tüm yayınlar

Docker Desktop Açığı: Codex, Cursor ve Gemini CLI Sandbox'ını Deliyor

Docker Desktop, Codex, Cursor ve Gemini CLI'daki sıkı sandbox profillerini ayrıcalıklı soket ve VirtioFS mount yoluyla aşmayı mümkün kılıyor.

Codex CLI, Cursor ve Gemini CLI, önceki 'izin ver' tabanlı profillerin aksine baştan kapalı (deny-default) sandbox mimarileri benimsedi. Kağıt üzerinde ajanın process başlatma, izin dışı dosya yazma gibi yetkileri tamamen kısıtlanmış görünüyor. Ancak araştırmacılar, her üç üründe de aynı kaçış zincirinin çalıştığı ortak bir açık buldu: Docker Desktop.

Sandbox, workspace dışına dosya yazmayı engelliyor ama process çalıştırmayı, dosya okumayı ve ağ erişimini (kapatılmadıysa) engellemiyor. Bu üç yetki bir araya geldiğinde ajan docker CLI'yi çalıştırabiliyor, Docker soketini okuyabiliyor (bu da daemon üzerinde fiilen root yetkisi demek), registry kısıtlamalarını atlatmak için bir rootfs tarball'ını curl ile indirip docker import ediyor, izin verilen bir dizine bind mount yapan --privileged bir konteyner başlatıyor ve konteyner içinden VirtioFS ile kullanıcının tüm ev dizinine okuma/yazma erişimi kazanıyor. Bütün bu işlemler Docker VM'i içinde gerçekleştiği için sandbox'ın yetki alanı dışında kalıyor ve ajan açısından hiçbir kural ihlali yaşanmamış gibi görünüyor.

Üç şirketin yanıtı birbirinden farklı oldu. Cursor, sorunu doğruladı ve düzeltme yayınlayarak yüksek önem dereceli bir güvenlik danışma belgesi yayımladı. OpenAI/Codex ekibi, ödül ödedi ama bunu 'bilgilendirme amaçlı' olarak sınıflandırdı; ağ proxy'sinin Unix soketlerine erişimi varsayılan olarak reddettiğini, yalnızca profilde açıkça izin verildiğinde erişime izin verildiğini savundu. Gemini CLI ekibi ise durumu zaten dokümantasyonda belirtilmiş bir davranış olarak değerlendirip hata kabul etmedi.

Bu bulgu önemli çünkü sandbox güvenliği genellikle sistem çağrısı kısıtlamalarına odaklanıyor, ama geliştirici makinelerinin büyük çoğunluğunda kurulu olan ayrıcalıklı yerel daemon'lar bu modelin dışında kalıyor. Saldırı doğrudan komutla değil, README dosyası veya kod yorumu gibi dolaylı prompt injection yoluyla da tetiklenebiliyor.