Anthropic تأیید کرد که آسیبپذیری CVE-2026-30623 را، که یک نقص بحرانی از نوع تزریق دستور (command-injection) در SDKهای Model Context Protocol (MCP) است، وصله نخواهد کرد؛ این امر باعث میشود بیش از ۲۰۰,۰۰۰ نمونه مستقر شده در معرض خطر قرار بگیرند. توسعهدهندگانی که برای یکپارچهسازی ابزارها به MCP متکی هستند، باید با این آسیبپذیری بهعنوان یک ریسک فوری برخورد کنند.
چرا این نقص اهمیت دارد
MCP به اپلیکیشنهای مبتنی بر LLM اجازه میدهد تا از طریق یک پروتکل استاندارد، ابزارهای خارجی را فراخوانی کنند. هر چهار SDK رسمی، یک لایه انتقال STDIO را ارائه میدهند که متن دلخواه از مدل را میپذیرد و آن را مستقیماً به شلِ میزبان (host shell) میفرستد. باگ CVE-2026-30623 به یک مدل مخرب — یا یک توضیحات ابزارِ دستکاریشده — اجازه میدهد هر دستوری را که فرآیند میزبان قادر به اجرای آن است، تزریق کند. Anthropic میگوید این رفتار عمدی است و از انتشار اصلاحیه خودداری کرده است، به این معنی که این آسیبپذیری در زنجیره تأمین فعلی که شامل حدود ۱۵۰ میلیون دانلود SDK است، باقی خواهد ماند.
مهاجمان چه کارهایی میتوانند انجام دهند
- تزریق دستور (Command injection) – هر کسی که بتواند فایل پیکربندی یک سرور را ویرایش کند، میتواند دستورات شل را روی ماشین میزبان اجرا کرده و بهطور بالقوه به دسترسی کامل سیستم برسد.
- مسمومسازی ابزار (Tool poisoning) – یک مهاجم میتواند با گنجاندن دستورالعملهای مخرب در توضیحات یک ابزار، مدل را فریب دهد تا دادههای حساس، مانند اعتبارنامههای ابری (cloud credentials)، را به یک نقطه پایانی (endpoint) خارجی ارسال کند.
- احراز هویت ضعیف – بررسی ۱۴۰۰ سرور MCP نشان داد که ۳۸.۷٪ آنها اصلاً فاقد احراز هویت هستند که این امر مسیر تزریق را بهراحتی در دسترس قرار میدهد.
- امتیازهای اعتماد پایین – تنها ۱۲.۹٪ از سرورهای نمایهشده MCP معیارهای اعتماد بالای جامعه را دارا هستند، که نشان میدهد اکثریت آنها با حداقل اقدامات حفاظتی فعالیت میکنند.
این وکتورها در کنار هم، یک سطح حمله در زنجیره تأمین ایجاد میکنند که میتواند در مقیاس وسیع مورد بهرهبرداری قرار گیرد، بهویژه در محیطهایی که سرورهای MCP بهطور خودکار از مخازن عمومی SDK تهیه میشوند.
تغییرات آتی در مشخصات (spec) – و اینکه چرا اکنون کمکی نمیکنند
یک نسخه کاندید انتشار (release candidate) جدید از مشخصات MCP برای ۲۸ جولای برنامهریزی شده است. این نسخه، بخش مجوزدهی را به سمت OAuth 2.1 و OpenID Connect سوق میدهد و از سرورهای پشت توازنکنندههای بار (load balancers) استاندارد پشتیبانی میکند. اگرچه این تغییرات مدل امنیتی را بهبود میبخشند، اما آسیبپذیری لایه انتقال STDIO را که در ۲۰۰,۰۰۰ نمونه آسیبپذیر استفاده میشود، بهصورت گذشتهنگر وصله نمیکنند. همچنین مانع از آن نمیشوند که توسعهدهندگان پس از بهروزرسانی مشخصات، توضیحات ابزارهای مسموم را منتشر کنند.
چگونه توسعهدهندگان میتوانند امروز میزان قرارگیری در معرض خطر را کاهش دهند
- ممیزی سرورهای مبتنی بر STDIO – اگر شما فایل پیکربندی که سرور MCP را اجرا میکند کنترل نمیکنید، با آن بهعنوان یک منبع غیرقابل اعتماد برخورد کنید و از استفاده از انتقال STDIO خودداری نمایید.
- بازرسی متادیتای ابزار – توضیحات هر ابزار را بهدقت برای یافتن دستورات یا URLهای پنهانی که ممکن است باعث استخراج دادهها شوند، بررسی کنید.
- نادیده گرفتن معیارهای محبوبیت – تعداد بالای نصب، تضمینکننده یک پیادهسازی امن نیست؛ با هر استقرار بهعنوان یک ریسک مجزا برخورد کنید.
- تأیید بهکارگیری OAuth 2.1 – بررسی کنید که یک سرور واقعاً OAuth 2.1 و OpenID Connect را پیادهسازی کرده باشد، نه اینکه صرفاً ادعای وضعیت «سازگار با MCP» را داشته باشد.
چه چیزی را در آینده باید زیر نظر داشت
راهنماهای پیادهسازی و هرگونه اصلاحیه بعدی که به لایه انتقال STDIO میپردازد را زیر نظر داشته باشید. تا آن زمان، امنترین راه این است که STDIO را با یک لایه انتقال کنترلشدهتر جایگزین کنید یا به فریمورکهای جایگزین فراخوانی ابزار که به مسیر کد آسیبپذیر متکی نیستند، مهاجرت کنید.
خلاصه کلام: تصمیم Anthropic یک سطح حمله بزرگ و بهراحتی قابل بهرهبرداری را باقی میگذارد. توسعهدهندگانی که نمیتوانند سلامت سرورهای MCP خود را تضمین کنند، باید از انتقال STDIO فاصله گرفته و هر توضیحات ابزاری را بهدقت بررسی کنند تا از تبدیل شدن سیستمهایشان به مجرایی برای دستورات مخرب جلوگیری کنند.
Source: https://dev.to/gentic_news/mcps-cve-2026-30623-anthropic-wont-fix-stdio-command-injection-mh6
