Geri Dön
Resmi MCP Python SDK'daki açık kötü niyetli sunucuların OAuth bilgilerini çalmasına izin veriyor
SiTech AI Team2 წთ. საკითხავი

Resmi MCP Python SDK'daki açık kötü niyetli sunucuların OAuth bilgilerini çalmasına izin veriyor

Resmi MCP Python SDK'daki güvenlik açığı, kötü niyetli bir MCP sunucusunun giriş akışını yönlendirip client secret, yetkilendirme kodu ve PKCE anahtarını çalmasına olanak tanıyordu. Hata 1.30.0 ve 2.2.0 sürümlerinde giderildi.

Açık nedir

Resmi MCP Python SDK'da bir güvenlik açığı var: kötü niyetli bir MCP sunucusu bir uygulamayı kandırıp gerçek bir hizmete giriş için kullandığı OAuth bilgilerini ele geçirebilir. Geliştiriciler sorunu 28 Eylül'de yayımlanan bir bildiride açıkladı. MCP (Model Context Protocol), yapay zeka uygulamalarını dış araçlara ve verilere bağlayan açık bir standarttır; bu paket de onun resmi Python SDK'sıdır.

Etkilenen sürümlerde istemci, yetkilendirme sunucusunun nerede olduğunu MCP sunucusuna soruyordu ve SDK bu yanıtı her zaman denetlemiyordu. Kötü niyetli bir sunucu istemciyi saldırganın kontrolündeki bir giriş hizmetine yönlendirebiliyordu; istemci de client secret'ını, yetkilendirme kodunu ve PKCE kanıt anahtarını gerçek sağlayıcı yerine saldırgana gönderiyordu.

Neden önemli

PKCE kanıt anahtarı, çalınan bir yetkilendirme kodunun yeniden kullanılmasını engellemek için tasarlanmış tek kullanımlık bir değerdir; verilmesi o korumayı da ortadan kaldırır. Çalınan değerlerle saldırgan gerçek hizmetten geçerli bir access token isteyebilir.

Açığı bildiren Cycode, tam değişimi bir testte gösterdi ve elde edilen token'ın uygulamaya verilmiş tüm izinleri taşıdığını söyledi. Açık, insan müdahalesi olmadan çalışan iki sağlayıcı için yüksek, 7.5, etkileşimli sağlayıcı için 6.5 olarak derecelendirildi. 29 Eylül itibarıyla bir CVE kimliği atanmamıştı.

Kimler etkileniyor

Bir uygulama, SDK'yı HTTP üzerinden MCP istemcisi olarak OAuthClientProvider, ClientCredentialsOAuthProvider, PrivateKeyJWTOAuthProvider veya kullanımdan kaldırılmış 1.x RFC7523OAuthClientProvider ile kullanıyorsa ve gerçek bir giriş hizmetinin bilgilerini taşırken denetlemediği bir sunucuya erişebiliyorsa etkilenir. SDK ile geliştirilen MCP sunucuları, yerel stdio istemcileri ve kendi token'ları olan istemciler etkilenmez.

1.x hattında 1.9.1 ile 1.29.1 arası sürümler etkilenir ve 1.30.0 bunları düzeltir; 2.x hattında 2.0.0 ile 2.1.1 arası sürümler etkilenir ve 2.2.0 bunları düzeltir.

Ne yapmalı

1.30.0 veya 2.2.0 sürümüne yükseltin. Düzeltilmiş sürümlerde istemci herhangi bir ayrıntıyı almadan önce hangi giriş hizmetini beklediğini belirler ve farklı bir hizmeti gösteren yanıtları reddeder.

ClientCredentialsOAuthProvider veya PrivateKeyJWTOAuthProvider kullanan uygulamalar ayrıca issuer= değerini geçirerek bu bilgilerin hangi giriş hizmetine ait olduğunu belirtmelidir; bu olmadan yalnızca yükseltme hiçbir şeyi değiştirmez. Kullanımdan kaldırılmış RFC7523OAuthClientProvider'da issuer= yoktur, bu yüzden değiştirilmelidir. Eski sürümlerde yalnızca güvendiğiniz MCP sunucularına bağlanın.

issuer denetimleri 1.30.0 ve 2.2.0 sürüm notlarında 7 Eylül'de güvenlik düzeltmesi olarak değil davranış değişiklikleri altında yer aldı; bildiri ise 28 Eylül'de geldi. Açığın kullanıldığı bir saldırı bildirilmedi.

SSiTech

SiTech — AI destekli web geliştirme

Hızlı ve modern web siteleri kuruyor, AI'yı gerçek iş akışlarına taşıyoruz. Projeniz veya sorunuz mu var? Yardımcı olmaktan mutluluk duyarız.