Geri qayıt
Rəsmi MCP Python SDK-dakı boşluq zərərli serverlərə OAuth məlumatlarını oğurlamağa imkan verir
SiTech AI Team2 წთ. საკითხავი

Rəsmi MCP Python SDK-dakı boşluq zərərli serverlərə OAuth məlumatlarını oğurlamağa imkan verir

Rəsmi MCP Python SDK-dakı təhlükəsizlik boşluğu zərərli MCP serverinə giriş axınını yönləndirib client secret, avtorizasiya kodu və PKCE açarını oğurlamağa imkan verirdi. Problem 1.30.0 və 2.2.0 versiyalarında aradan qaldırılıb.

Boşluq nədir

Rəsmi MCP Python SDK-da zərərli MCP serverinin tətbiqi aldadaraq real xidmətə giriş üçün istifadə etdiyi OAuth məlumatlarını ələ keçirməsinə imkan verən təhlükəsizlik boşluğu var. Tərtibatçılar problemi 28 sentyabrda dərc olunmuş bülletendə təsvir ediblər. MCP (Model Context Protocol) süni intellekt tətbiqlərini xarici alətlərə və məlumatlara qoşan açıq standartdır, bu paket isə onun rəsmi Python SDK-ıdır.

Təsirlənmiş versiyalarda müştəri avtorizasiya serverinin harada olduğunu MCP serverindən soruşurdu və SDK bu cavabı həmişə yoxlamırdı. Zərərli server müştərini hücumçunun nəzarət etdiyi giriş xidmətinə yönəldə bilərdi, müştəri isə client secret-ını, avtorizasiya kodunu və PKCE açarını real provayder yerinə hücumçuya göndərirdi.

Niyə vacibdir

PKCE açarı oğurlanmış kodun təkrar istifadəsini dayandırmaq üçün nəzərdə tutulmuş birdəfəlik dəyərdir, ona görə də onun verilməsi həmin müdafiəni də ləğv edir. Oğurlanmış dəyərlərlə hücumçu real xidmətdən etibarlı access token istəyə bilər.

Boşluğu bildirən Cycode şirkəti tam mübadiləni testdə nümayiş etdirdi və alınan tokenin tətbiqə verilmiş bütün icazələri daşıdığını söylədi. Boşluq insan iştirakı olmadan işləyən iki provayder üçün yüksək, 7,5, interaktiv provayder üçün isə 6,5 kimi qiymətləndirilib. 29 sentyabr tarixinə CVE identifikatoru hələ təyin edilməmişdi.

Kim təsirlənir

Tətbiq o halda təsirlənir ki, SDK-ı HTTP üzərindən MCP müştərisi kimi OAuthClientProvider, ClientCredentialsOAuthProvider, PrivateKeyJWTOAuthProvider və ya köhnəlmiş 1.x RFC7523OAuthClientProvider ilə istifadə edir və real giriş xidməti üçün məlumatlar saxlayarkən tam nəzarət etmədiyi serverə çata bilir. SDK ilə qurulmuş MCP serverləri, yerli stdio müştəriləri və öz tokenlərini əlavə edənlər təsirlənmir.

1.x xəttində 1.9.1-dən 1.29.1-dək versiyalar təsirlənir və 1.30.0 onları düzəldir; 2.x xəttində 2.0.0-dan 2.1.1-dək versiyalar təsirlənir və 2.2.0 onları düzəldir.

Nə etməli

1.30.0 və ya 2.2.0 versiyasına keçin. Düzəldilmiş versiyalarda müştəri hər hansı məlumatı götürməzdən əvvəl hansı giriş xidmətini gözlədiyini müəyyən edir və fərqli xidməti göstərən cavabları rədd edir.

ClientCredentialsOAuthProvider və ya PrivateKeyJWTOAuthProvider istifadə edən tətbiqlər əlavə olaraq issuer= ötürərək bu məlumatların hansı giriş xidmətinə aid olduğunu göstərməlidir; bu olmadan yalnız yeniləmə heç nəyi dəyişmir. Köhnəlmiş RFC7523OAuthClientProvider-də issuer= yoxdur, buna görə də onu dəyişmək lazımdır. Köhnə versiyalarda yalnız etibar etdiyiniz MCP serverlərinə qoşulun.

issuer yoxlamaları 1.30.0 və 2.2.0 versiyalarının release notes-unda 7 sentyabrda təhlükəsizlik düzəlişi kimi deyil, davranış dəyişiklikləri altında yer aldı; bülleten isə 28 sentyabrda gəldi. Boşluqdan istifadə edilən hücum barədə məlumat verilməyib.

SSiTech

SiTech — AI ilə gücləndirilmiş veb hazırlanması

Sürətli və müasir saytlar qurur, AI-ı real biznes proseslərinə gətiririk. Layihəniz və ya sualınız var? Kömək etməyə hazırıq.