POST /mcp-rest/test/connectionPOST /mcp-rest/test/tools/listHer iki uç nokta da JSON istek gövdesinde, stdio aktarımının sunucu süreçlerini başlatmak için kullandığı Cmd (komut), args (argümanlar) ve env (ortam değişkenleri) alanları dahil olmak üzere eksiksiz bir MCP sunucu yapılandırmasını kabul ediyordu . Kimliği doğrulanmış bir kullanıcı bu yapılandırmayla iki uç noktadan birini çağırdığında, LiteLLM sağlanan Cmd değerini ana makinede bir alt süreç olarak çalıştırıyor ve bunu LiteLLM proxy sürecinin sahip olduğu işletim sistemi yetkileriyle yapıyordu
.
Başlangıçta BerriAI bunu, kimlik doğrulaması gerektiren bir uzaktan kod yürütme hatası olarak açıkladı. Saldırganın uç noktalara ulaşmak için geçerli bir API anahtarına ihtiyacı vardı ve bu uç noktaları kimin çağırabileceğini kısıtlayan rol tabanlı bir kontrol bulunmuyordu. Geçerli herhangi bir proxy API anahtarına sahip düşük yetkili bir iç kullanıcı bile ana makinede keyfi komutlar çalıştırabilirdi . Ancak hikaye burada bitmedi.
İkinci güvenlik açığı, araştırmacılar tarafından "BadHost" olarak adlandırılan CVE-2026-48710'dur. Bu, FastAPI, vLLM ve LiteLLM dahil olmak üzere binlerce Python web uygulamasının temelini oluşturan hafif ASGI framework'ü Starlette'deki bir ana bilgisayar (host) başlığı doğrulama zafiyetidir . 0.8.3 ile 1.0.0 arasındaki tüm Starlette sürümleri bu açıktan etkilenmektedir
.
Sorunun temelinde, Starlette'in gelen istekleri yönlendirme şekli ile uygulama mantığı için URL'leri yeniden oluşturma şekli arasındaki bir ayrıştırıcı uyuşmazlığı yatar . ASGI yönlendirme katmanı, hangi uç noktanın isteği işleyeceğine karar vermek için isteğin ham HTTP yolunu kullanır. Ancak uygulama ara katman yazılımlarının (middleware) ve dekoratörlerin gördüğü
request.url, uygun bir doğrulama yapılmadan ham Host başlık değeri ile istek yolunun birleştirilmesiyle yeniden oluşturulur .
Bir saldırgan, Host başlığına ? veya # gibi URI yetki-yol ayırıcı karakterleri enjekte ederek, request.url.path öğesinin gerçek yönlendirilen yoldan tamamen farklı görünmesini sağlayabilir . Ara katman yazılımı
/ gibi zararsız bir yol görürken, yönlendirici isteği perde arkasında hedeflenen gerçek uç noktaya iletir. request.url.path öğesine güvenen herhangi bir yol tabanlı kimlik doğrulama ara katmanı bu şekilde kolayca atlatılabilir .
LiteLLM'in kimlik doğrulama dekoratörü, bir isteğin geçerli bir API anahtarı gerektirip gerektirmediğini belirlemek için request.url.path değerini kontrol eder. BadHost atlatması, bir saldırganın bu URL'yi manipüle ederek kimlik doğrulama ara katmanının kimlik doğrulaması gerektirmeyen bir yol görmesini sağlarken, ASGI yönlendiricisinin aynı anda isteği savunmasız MCP komut enjeksiyon uç noktalarından birine göndermesine olanak tanır .
Bu, internet ile keyfi komut yürütme arasında duran tek erişim kontrol kapısını tamamen ortadan kaldırır. Hiçbir kimlik bilgisi olmayan ve ağa önceden erişimi bulunmayan bir saldırgan, kimlik doğrulamasını tamamen atlayan ve LiteLLM proxy ana bilgisayarında işletim sistemi komutları çalıştıran tek bir hazırlanmış HTTP isteği gönderebilir . Horizon3.ai, zincirleme saldırının çalıştığını doğruladı ve kimlik doğrulaması olmadan uzaktan kod yürütme sağladığı için bu birleşik saldırıya olabilecek en yüksek şiddet derecesi olan 10.0 CVSS puanını verdi
.
Başarılı bir istismar, saldırganlara LiteLLM proxy sürecinin yetkileriyle komut yürütme imkanı verir. Buradan sonraki tehdit yüzeyi hızla genişler:
CISA'nın 8 Haziran 2026'da CVE-2026-42271'i KEV kataloğuna eklemesi, bu güvenlik açığının teorik olmadığını, saldırganların şu anda bunu aktif olarak kullandığını kesinleştiriyor . Bağlayıcı Operasyonel Direktif 22-01 uyarınca, tüm ABD federal sivil yürütme organı kurumları, KEV listesindeki güvenlik açıklarını belirlenen düzeltme süresi içinde yamalamak zorundadır. CISA ayrıca, özel veya kamu tüm kuruluşların KEV eklemelerini acil yama öncelikleri olarak görmesini şiddetle tavsiye etmektedir
.
Zincirleme saldırıya karşı çözüm, iki cephede güncelleme ve kimlik bilgisi ifşasına yönelik birkaç derinlemesine savunma önlemi gerektirir:
Host başlıklarını URL belirtimine göre doğrular ve geçersiz karakterler içeren başlıkları yok sayar. Bu, kimlik doğrulama atlatmasına güç veren yol karıştırma hilesini engeller POST /mcp-rest/test/connectionPOST /mcp-rest/test/tools/listHost başlıklarına sahip olan MCP test uç noktalarındaki olağandışı etkinlikleri kontrol edin Birleşik saldırının CVSS 10.0 şiddeti, açığın internette aktif olarak istismar ediliyor olması ve CISA'nın KEV tanımlaması, LiteLLM veya Starlette destekli hizmetleri çalıştıran kuruluşların bu durumu bir acil yama ve yetki yenileme olayı olarak değerlendirmesi gerektiği anlamına geliyor. Aktif istismar ile kimlik bilgisi sızdırma arasındaki pencere zaten açılmış durumda.
Comments
0 comments