AWS, Google ve Vercel ajan açıklarını kapattı

Anasayfa » AWS, Google ve Vercel ajan açıklarını kapattı
AWS, Google ve Vercel ajan açıklarını kapattı

AWS, Google ve Vercel’in yapay zekâ ajan altyapılarındaki üç açık, bazı saldırı yollarında model hiç çalıştırılmadan araçların tetiklenmesine izin verdi. Böylece sistem prompt’ları, içerik filtreleri ve model seviyesindeki korumalar devreye girmeden ajanların erişebildiği araçlar doğrudan çağrılabildi.

Açıklar Amazon Bedrock AgentCore’un InvokeHarness API’sini, Google’ın Python için Agent Development Kit’ini (ADK) ve Vercel AI SDK’nin Codex ile OpenCode kod ajanlarına yönelik harness paketlerini etkiledi. AWS yönetilen hizmetteki sorunu kapattı, Google düzeltmeyi ADK 2.5.0 ile yayımladı, Vercel ise @ai-sdk/harness-codex için 1.0.29 ve @ai-sdk/harness-opencode için 1.0.28 sürümlerinde yama yaptı.

Black Hat USA 2026’da Stealth adlı girişimin kurucuları Hedi Ingber ve Aviyam Ivgi’nin anlattığı ortak saldırı modeli, araştırmacılar tarafından CoreBreak olarak adlandırıldı. İncelemeye göre sorun, modelin bir aracı çağırıp çağırmayacağına karar verdiği son adım ile çalışma zamanının bu çağrıyı gerçekten yetkili sayması arasındaki kimlik doğrulama eksikliğinden kaynaklandı.

Model atlanınca koruma zinciri de atlıyor

Normal akışta SDK, kullanıcının isteğini, sistem prompt’unu, konuşma geçmişini ve mevcut araç tanımlarını modele gönderiyor. Model bir aracı kullanmaya karar verirse, araç adı ve argümanlarını içeren yapılandırılmış bir komut üretiyor; ardından SDK bu komutu yürütüyor. Araştırmacıların bulduğu yolların ortak noktası, bu son iki adım arasında kaynağın doğrulanmaması oldu.

Çalışma zamanı, model üretmiş gibi görünen bir araç çağrısını yetkili kabul etti. Saldırganın modeli kuralları çiğnemeye ikna etmesi gerekmiyordu; doğrudan yönlendirme ya da yetkilendirme katmanına erişmesi yeterli oluyordu. Bu nedenle bazı yollar sistem prompt’larını ve model düzeyindeki güvenlik bariyerlerini tamamen baypas etti.

AWS tarafındaki bulgu CVE-2026-18830 olarak izlendi ve CVSS v4.0 skoru 8.6 olarak açıklandı. Güvenlik bültenine göre sorun, Amazon Bedrock AgentCore harness içindeki yetersiz giriş doğrulamasından kaynaklanıyordu. Kimliği doğrulanmış bir uzaktan kullanıcı, InvokeHarness isteğinin son mesajına bir tool-use içerik bloğu yerleştirebiliyordu; event loop da bunu model sormadan doğrudan ilgili aracı çalıştıracak şekilde işliyordu.

AWS, sorunun 31 Temmuz 2026’dan önceki yönetilen InvokeHarness API sürümünü etkilediğini belirtti. Şirket, istemci tarafından gönderilen tool-use bloklarını event loop’a ulaşmadan reddeden sunucu tarafı doğrulama eklediğini ve düzeltmenin otomatik olarak uygulandığını açıkladı. Müşteriden ayrıca bir işlem yapılması istenmiyor.

Araştırmacıların işaret ettiği açık yalnızca yönetilen hizmetle sınırlı değil. Stealth’in kurucuları, AgentCore harness’ının üzerine inşa edildiğini söyledikleri açık kaynak Strands Python kodunda da benzer bir model-atlama yolunun bulunduğunu aktardı. Güncel upstream event_loop.py içinde yer alan _has_tool_use_in_latest_message kontrolü, en son mesajda ToolUse varsa stop reason’ı tool_use yapıyor, son mesajı doğrudan alıyor ve model yürütmesini atlıyor.

Bu dalın üstündeki yorumda açıkça “Skip model invocation if the latest message contains ToolUse.” ifadesi yer alıyor. İncelemeyi yapan ekip, 5 Ağustos 2026 itibarıyla ana dalda bu kod yolunun hâlâ bulunduğunu doğruladıklarını söyledi. Hemen üstteki daha dar dal ise kesinti sonrası ajanın önceden sakladığı bir tool-use mesajını geri yüklüyor; son mesajda ne varsa onu alıp işleme sokmuyor.

Bir nisan pull request’inde, dışarıdan enjekte edilen toolUse bloklarının model çalışmadan araç yürütmesine yol açabileceği uyarısı yapılmıştı. Önerilen değişiklik bu kestirme yolu kaldırmayı amaçlıyordu, ancak 19 Haziran’da birleştirilmeden kapatıldı. Buna karşın Strands kullanan her uygulama otomatik olarak uzaktan istismar edilebilir sayılmıyor; risk, uygulamanın güvenilmeyen bir tarafın yapılandırılmış konuşma mesajları göndermesine, saklanan geçmişi değiştirmesine ya da event loop’un tükettiği konuma toolUse bloğu yerleştirmesine izin verip vermediğine bağlı.

AWS, bağımsız Strands kurulumları için ayrı bir CVE, etkilenen sürüm aralığı ya da yama duyurusu yayımlamadı. Ingber ve Ivgi, AWS’nin bu davranışın müşterinin paylaşılan sorumluluk modelinin tarafında kaldığını söylediğini, şirketin de kod düzeltmesi yerine dokümantasyon değişikliğiyle karşılık verdiğini aktardı.

Şirket bunun yerine davranışı dokümante etti. Güvenlik ve emniyet başlığı altında yer alan Trusted Message History sayfası, geliştiricilere en son mesaj bir araç çağrısı bloğu içeriyorsa ajanın bir sonraki çalıştırmada modeli çağırmadan o aracı doğrudan çalıştıracağını, bloğun yazarının araç ve argümanları tamamen kendisinin seçtiğini söylüyor. Ayrıca mesaj geçmişinin, dışarıdan şekillendirilebilen girişlerden değil, uygulamanın kendi kontrol ettiği kaynaklardan oluşturulmasını öneriyor.

Google tarafında da birbirinden ayrı iki yol bulundu. CVE-2026-18236 olarak izlenen ve CVSS v4.0 puanı 9.3 olan ilk açık, 2.5.0 öncesi sürümleri etkiliyor. Python için ADK, geliştiricinin hassas bir aracı onay gerektiren şekilde işaretlemesine izin veriyor; bu durumda çağrı, bir kişi onay verene kadar bekletiliyor. Ancak saldırganın bir ajan oturum geçmişini manipüle edebilmesi ya da oraya olay enjekte edebilmesi durumunda, sahte bir onay oluşturup yetkisiz bir aracın çalışmasını sağlayabildiği görüldü.

Onay işleyicisi, hedef aracın çalışan ajana ait olup olmadığını, gerçekten onay gerektirip gerektirmediğini ya da ad ve argümanlarının oturumda kayıtlı ilk çağrıyla eşleşip eşleşmediğini kontrol etmiyordu. Google’ın yaması bu kontrolleri ekledi.

Google aynı ADK 2.5.0 sürümünde ikinci bir düzeltmeyi de yayımladı. 16 Temmuz 2026’da çıkan bu sürümde, resumable mode akışları kullanıcı tarafından yazılmış ve function_call parçaları içeren olayları kabul edebiliyordu. Bu yapı, kayıtlı araçları çalıştırmaya yönelik talimatlar gibi yorumlanabiliyordu. Şirket artık kullanıcı yazımlı mesajlardaki function call’ları reddediyor; commit kaydında bunun LLM’i atlayıp kayıtlı araçların doğrudan çalıştırılmasını engellemek için yapıldığı belirtildi.

Yayımlanan notlarda resumable mode baypası ile continuation forgery düzeltmesi ayrı ayrı listelendi. Araştırmacılar iki bulgunun da kendilerine ait olduğunu söyledi. Google ise continuation forgery için CVE verdiğini, çünkü bunun varsayılan yapılandırmayı etkilediğini; resumable mode’un ise daha yeni ve varsayılan olmayan bir özellik olduğunu ifade etti. CVE-2026-18236’nın kamuya açık kaydı yalnızca continuation forgery yolunu kapsıyor.

Vercel’deki bulgular @ai-sdk/harness-codex paketinin 1.0.28 ve öncesini etkileyen CVE-2026-64650 ile @ai-sdk/harness-opencode paketinin 1.0.27 ve öncesini etkileyen CVE-2026-64651 olarak izleniyor. İki açığın da CVSS v4.0 skoru 6.3.

Relay katmanı, komut satırında onaylı yardımcı betiklerin yolunu gördüğünde sürece güveniyordu. OpenCode tarafında bu betik host-tool-mcp.mjs iken, Codex tarafında komut satırı shim’i aynı işi görüyordu. Linux sandbox içinde zaten çalışan kötü niyetli kod, bu kontrolü karşılayıp sırayla gizli bilgi sorguları, dağıtım işlemleri ve bulut API çağrıları gibi host tarafındaki araçları, model onayıyla eşleşen bir olay olmadan kullanabildi.

Bu, AWS’deki uzaktan istek yolundan farklı bir yerel sandbox’tan host’a yetkilendirme atlatma senaryosuydu. İstismar için Linux, en az bir host sağlanmış araca sahip aktif bir harness oturumu ve sandbox içinde zaten çalışan güvensiz kod gerekiyordu; kötü amaçlı bir bağımlılık, derleme betiği ya da yaşam döngüsü kancası bu koşulu sağlayabiliyordu.

Vercel, process-path fallback mekanizmasını kaldırdı. Yama sonrası relay, yalnızca model olayında gözlemlenen araç adı ve girdisine bağlanmış kısa ömürlü, tek kullanımlık bir yetkilendirmeyle eşleşen istekleri kabul ediyor. NPM kayıtları, düzeltmeli sürümlerin 10 Temmuz 2026’da yayımlandığını gösteriyor; paketler 5 Ağustos 2026 itibarıyla 1.0.60 ve 1.0.59’a yükselmiş durumda.

Şirketin ayrı bir düzeltmesi ise bir ay önce gelmişti. 10 Haziran’da birleştirilen 15947 numaralı pull request, istemci tarafından uydurulan onaylara karşı SDK’nin araç onayı yeniden oynatma yolunu sıkılaştırdı. Kayıtta, Claude ve Anthropic’in güvenlik ekibinin de teşekkür kısmında yer aldığı görülüyor.

Vercel, AI SDK 7 sürüm notlarında opt-in HMAC imzalı araç onayları ve yürütme yeniden başlatılmadan önce araç girdilerinin yeniden doğrulanması gibi kontrolleri anlattı. Ingber ve Ivgi, bu bulgunun Project Glasswing kapsamında açıklanan Anthropic’in Mythos çalışmasına ait olduğunu, kendi ekiplerinin bulgusu olmadığını söyledi.

Kayıtlarda bazı tutarsızlıklar da var. Codex kaydının açıklaması OpenCode paketinin adını geçirirken, OpenCode kaydının yapılandırılmış verileri kendi metninin çeliştiği bir düzeltilmiş sürüm listeliyor. Araştırmacılar, her paketi ilgili GitHub advisories ile eşleştirerek düzeltme ve etkilenen sürümleri doğrudan bu kayıtlardan doğruladıklarını belirtti.

Tüm bu vakalarda kontrol, aracın kendisinde toplandı. Google kayıtları ve iki Vercel advisories, CWE-863 yani yanlış yetkilendirme altında sınıflandırıldı; AWS ise kendi kaydını uygunsuz giriş doğrulaması olarak açtı. Sistem prompt’una veya model yanıtına gömülü herhangi bir koruma, çağıran taraf modelin meşru bir dönüşü olmadan dispatch yoluna ulaşabildiğinde ortadan kalkıyor.

Yayımlanan düzeltmeler de aynı noktada birleşiyor. Google, onayı oturumda kayıtlı araç ve argümanlarla eşliyor; Vercel, her relay isteğini gözlenen model olayına bağlı tek kullanımlık yetkilendirmeyle ilişkilendiriyor; AWS ise çağıranın tool-use bloğunu event loop görmeden önce reddediyor. Üçü de gelen verinin biçiminin model dönüşünün yerini almasına izin vermiyor.

Güncellemeler şu sürümlere kadar yapılmalı: Google ADK for Python 2.5.0 ve üzeri, @ai-sdk/harness-codex 1.0.29 ve üzeri, @ai-sdk/harness-opencode 1.0.28 ve üzeri. CVE kayıtları için NVD bağlantıları sırasıyla https://nvd.nist.gov/vuln/detail/CVE-2026-18830, https://nvd.nist.gov/vuln/detail/CVE-2026-18236, https://nvd.nist.gov/vuln/detail/CVE-2026-64650 ve https://nvd.nist.gov/vuln/detail/CVE-2026-64651 adreslerinde yer alıyor.

İncelemeyi yapan araştırmacılar, etkilenen üreticilere proof-of-concept kod gönderdiklerini ve bunu kamuya açmadıklarını söyledi. Kayıtlarda görünen ortak nokta ise aynı: kontrol, modelde değil doğrudan araç katmanında korunmak zorunda.