deniz.in

Piyasalar

Hava durumu

Hava durumu yükleniyor

· kaynak dev.to (home feed)

GitLab AI Gateway CVE'si yapay zeka agent'ları için izin denetimlerini tetikledi

GitLab AI Gateway'deki CVSS 9.9 skorlu açık, yetkili kullanıcıların gateway üzerinde komut çalıştırmasına imkan veriyor. Bir mühendisin kendi agent kurulumunu denetlemesi, izin kontrollerinin gerçekten önemli olduğu yerde hiç uygulanmadığını ortaya çıkardı.

GitLab AI Gateway CVE'si yapay zeka agent'ları için izin denetimlerini tetikledi

Açık

6 Ekim 2026'da dev.to'da yayınlanan bir yazı, GitLab AI Gateway'deki kritik bir açığı ele alıyor: CVSS skoru 9.9 olan CVE-2026-90970, agent platform erişimi olan oturum açmış bir kullanıcının gateway'in kendisinde komut çalıştırmasına olanak tanıyor. Yazar, bu tür güvenlik bültenlerinin çoğu insanın gözünden kaçan türden olduğunu — ta ki kişi durup kendi agent altyapısının gerçekte neyi zorunlu kıldığını düşünene kadar — yazıyor.

Yazarın kendi agent kurulumunun denetlenmesi

Krova Cloud adlı bir sandbox şirketinin kurucusu olan Rohit olarak kendini tanıtan yazar, ekibinin log okuyabilen, dahili API'leri sorgulayabilen, pull request açabilen ve sorun çıkaran servisleri yeniden başlatabilen bir dahili yapay zeka agent'ı çalıştırdığını söylüyor. Agent, model araç çağrılarını gerçek eylemlere çeviren küçük bir dahili gateway servisi üzerinden hareket ediyor. Gateway'in hiçbir gelen bağlantısı yoktu — yalnızca dahili DNS, VPN arkasında — ve yazara göre tüm güvenlik gerekçesi buydu.

Aynı sınıftan bir hatayı — yetkisiz bir agent oturumu tarafından erişilebilen komut çalıştırma — aramaya koyulduğunda iki varsayım denetimi neredeyse erken bitiriyordu. İlki, riskin tamamen ağ erişimiyle ilgili olduğuydu; VPC dışından gelen bir yol olmadığını doğruladı ve soruşturmayı neredeyse kapattı. İkincisi, agent rollerini izin verilen araçlara eşleyen permissions.yaml dosyasının mutlaka aşağı akışta bir yerde zorunlu kılındığı varsayımıydı. Kılınmıyordu.

Denetim gerçekte nerede yaşıyordu

İzin filtreleme, belirli bir oturumda modele hangi araçların sunulacağına karar veren kod olan orkestrasyon katmanında çalışıyordu. Bir rolün restart_service gibi bir araca erişimi yoksa, araç modele gönderilen listede hiç görünmüyordu. Gateway'in execution endpoint'i — komutları gerçekten çalıştıran bileşen — hiçbir bağımsız kontrol yapmıyor ve filtrelemenin yukarı akışta zaten yapıldığına güveniyordu.

Boşluk, retry mantığı üzerinden erişilebilir hale gelmişti. Bir araç çağrısı zaman aşımına uğradığında, retry handler'ı gecikmeyi azaltmak için çağrıyı doğrudan execution endpoint'e yeniden gönderiyor, izin farkındalığına sahip orkestrasyon yolunu tamamen atlıyor ve paylaşılan servis hesabı kimlik bilgilerini taşıyordu.

Etkin bir bakışla, izin modeli modele sunulanları filtreliyor ama gateway'in çalıştırdıklarını yetkilendirmiyordu ve filtrelemeyi yapan bileşen modelin talimatlarını takip ediyor, onları denetlemiyordu. Ele geçirilmiş, kafası karışmış ya da sadece yaratıcı bir agent oturumu, retry yolu üzerinden, paylaşılan servis hesabının yapabildiği her şeyi — tek bir worker'ı yeniden başlatma amacının çok ötesinde — çalıştırabilirdi.

Çözüm

Ekip iki değişiklik yaptı. Birincisi, zorunlu kılma, execution endpoint'in kendisine taşındı: tek bir fonksiyon rol izinlerini kontrol ediyor ve her argümanı katı allowlist desenlerine göre doğruluyor; ve retry'lar dahil çalıştırmanın her yolu artık bu fonksiyondan geçiyor.

İkincisi, kalıcı paylaşılan kimlik bilgisi ortadan kalktı. Artık her agent görevi, yalnızca giden ağ erişimine sahip ve dahili sistemlere erişimi olmayan kendi kısa ömürlü, tek kullanımlık sandbox VM'inde çalışıyor. Yazının burada ticari bir hal aldığını belirtmek gerek: yazar bir sandbox sağlayıcısı olan Krova Cloud'un kurucusu ve bu düzenlemenin E2B'den yaklaşık %93, Modal'dan ise %95 daha ucuza geldiğine dair iddiaları şirketinin kendi karşılaştırma rakamlarıdır, bağımsız olarak doğrulanmamıştır. Mimari nokta her halükârda kendi başına geçerlidir.

Neden önemli

Yazının dersleri genellenebilir. Yalnızca yukarı akışta danışılan ve aşağı akışta güvenilen bir izin listesi zorunlu kılma değil, yol gösterme işlevi görür; execution katmanındaki hiçbir şey ona uymak zorunda değildir. Retry handler'ları, fallback'ler ve hızlı yollar, tam olarak yetkilendirmenin sessizce uygulanmayı bıraktığı yerlerdir; çünkü kontrollerin yaşadığı katmanları atlarlar. Ve internete açık olmayan bir sistem de, bir oturum herhangi bir yolla execution katmanına ulaştığında ne yapabileceği sorusunu hâlâ açık bırakır. Yapay zefa agent'ları gerçek kimlik bilgileri ve gerçek araç erişimi edindikçe, başkasının kritik CVE'si, kendi sistemlerinize giden yolları denetlemek için ucuz bir prompt'tur.

  • #security
  • #gitlab
  • #ai-agents
  • #cve
  • #authorization

İlgili yazılar