Dünya genelinde milyonlarca yapay zeka (YZ) aracının ve uygulamasının, sunucularına sızılabilmesine ve hassas verilerin çalınabilmesine olanak tanıyan kritik bir güvenlik açığıyla karşı karşıya olduğu bildirildi. Bir güvenlik araştırmacısı, bu zafiyetin YZ sistemlerinin güvenliğini ciddi şekilde tehlikeye attığı konusunda uyarıyor.
Açık, haftalık 325 milyon indirme aldığı belirtilen açık kaynaklı bir framework olan Starlette'de bulunuyor. Starlette'yi kullanan veya ona bağımlı olan binlerce başka açık kaynaklı proje de bu zafiyetten etkileniyor. ASGI (asynchronous server gateway interface) protokolünü uygulayan bu framework, çok sayıda isteğin aynı anda verimli bir şekilde işlenmesine olanak tanıyor. Starlette, özellikle Python ile YZ servisleri geliştirmede yaygın olarak kullanılan FastAPI ve diğer birçok framework'ün temelini oluşturuyor.
Milyonlarca Sunucu Kolayca Tehlikeye Girebilir
ASGI ve dolayısıyla Starlette, YZ ajanlarının kullanıcı veritabanları, e-posta ve takvim hesapları gibi harici kaynaklara erişmesini sağlayan MCP (model context protocol) sunucularına erişim yetkisine sahip. Bu harici sistemlerle bağlantı kurmak için MCP sunucuları her biri için kimlik bilgilerini saklıyor. Bu durum, saldırganlar için son derece değerli bir hedef haline gelmelerine neden oluyor.
CVE-2026-48710 olarak izlenen ve BadHost adıyla bilinen bu güvenlik açığının istismar edilmesi oldukça basit. Düzgün yapılandırılmış bir güvenlik duvarının arkasında olmayan çoğu sistemde etkili oluyor. FastAPI'nin yanı sıra, vLLM ve LiteLLM gibi yaygın olarak kullanılan paketler de bu açıktan etkileniyor. BadHost, Cuma günü yayınlanan 1.0.1 sürümü öncesindeki Starlette sürümlerini etkiliyor.
Araştırmacılara göre, "HTTP Host başlığına enjekte edilen tek bir karakter, FastAPI'nin yönlendirme çekirdeği olan Starlette'deki yol tabanlı yetkilendirmeyi atlatıyor. Bu ilkel durum (şimdi CVE-2026-48710 olarak izlenen ve keşfedenler tarafından BadHost olarak adlandırılan), Python YZ araç ekosisteminin büyük bir bölümüne ulaşıyor: vLLM (hatanın keşfedildiği yer), LiteLLM, Text Generation Inference, çoğu OpenAI-shim proxy'si, MCP sunucuları, agent harness'ları, eval dashboard'ları ve model yönetim arayüzleri."
BadHost, 10 üzerinden 7 puanlık bir ciddiyet derecesine sahip. Ancak güvenlik firması, bu sınıflandırmanın, Starlette'e bağımlı diğer uygulamaları kullanan kişiler için oluşturduğu tehdidi hafife aldığını belirtiyor. Açığı keşfeden güvenlik firması X41 D-Sec, durumu "kritik ciddiyet" olarak tanımlıyor. X41 D-Sec, diğer güvenlik firması Nemesis ile birlikte, verilen bir sunucunun bu açıktan etkilenip etkilenmediğini kontrol edebilen çevrimiçi bir tarayıcı geliştirdi.
X41 D-Sec araştırmacısı Markus Vervier, yapılan taramaların şu tür verilerin mevcut durumda tehlikede olduğunu ortaya koyduğunu açıkladı:
- Biyofarma YZ – klinik deneme veritabanları, birleşme ve devralma verileri, SSRF
- Kimlik Doğrulama – yüz analizi, KYB (işletme doğrulama), canlı PII (kişisel olarak tanımlanabilir bilgiler), dahili kod tabanı
- IoT/Endüstriyel – erişim noktaları üzerinden cihazlara SSH, uzaktan kod yürütme
- E-posta/SaaS – tam posta kutusu okuma/gönderme/silme, S3 dışa aktarma, webhook'lar
- İK/İşe Alım – aday PII'leri, işe alım hattı verileri
- CMS/Pazarlama – abone listeleri, toplu e-posta kampanyaları gönderme/planlama
- Belge Yönetimi – taranmış belgeleri okuma, yükleme, değiştirme
- Bulut İzleme – AWS topolojisi, dağıtılmış izlemeler, metrik sorguları
- Siber Güvenlik – varlık envanteri, canlı Nuclei tarayıcı erişimi
- Kişisel Sağlık/Finans – beslenme günlükleri, harcamalar, abonelikler
Güvenlik açığının temelinde, Starlette'in geçersiz ana bilgisayar başlığı değerlerini kabul etmesi yatıyor. Bu durum, Starlette'in `request.url` nesnesini kullanan doğrulama yapan uygulamaların, yetkisiz erişim isteklerini onaylamasına neden oluyor. X41 D-Sec, bu çağrıya güvenen birden fazla uygulamada kimlik doğrulamanın atlatıldığını tespit ettiklerini belirtti. Ayrıca, saldırılar SSRF (sunucu tarafı istek sahteciliği) istismarlarına ve bazı durumlarda uzaktan kod yürütülmesine yol açabiliyor. X41 D-Sec bu durumu şöyle açıkladı:
Şirket araştırmacıları, "Starlette'in yönlendirme algoritması HTTP yoluna bağlıdır, ancak middleware'lere ve uç noktalara sunulan `request.url.path` özniteliği, yeniden oluşturulan URL'ye dayanmaktadır. Kullanıcılar için `request.url.path`'in, HTTP üzerinden istenen gerçek yoldan farklı olması beklenmediktir" dedi.
Starlette geliştiricisinden, değerlendirmenin doğrulanması ve ek bilgi talebiyle yapılan e-postaya hemen yanıt gelmedi.
Üretim sistemlerinde hala yaygın olarak kullanılan savunmasız Starlette sürümleri göz önüne alındığında, Starlette'e bağımlı herhangi bir uygulamayı, özellikle FastLLM, vLLM ve LiteLLM'yi kullanan kişilerin, sistemlerinde savunmasız Starlette kodunun hala kullanılıp kullanılmadığını tespit etmek için tarayıcıyı çalıştırmaları öneriliyor. Ek azaltma rehberliği Nemesis ve X41 D-Sec bağlantılarında bulunuyor.