- شناسه CVE-2025-62222 :CVE
- CWE-77, CWE-20 :CWE
- yes :Advisory
- منتشر شده: نوامبر 11, 2025
- به روز شده: نوامبر 21, 2025
- امتیاز: 8.8
- نوع حمله: Command Injection
- اثر گذاری: Remote code execution(RCE)
- حوزه: نرم افزارهای کاربردی
- برند: Microsoft
- محصول: Microsoft Visual Studio Code CoPilot Chat Extension
- وضعیتPublished :CVE
- No :POC
- وضعیت آسیب پذیری: patch شده
چکیده
آسیبپذیری تزریق فرمان (Command Injection) در افزونه CoPilot Chat برای Visual Studio Code به مهاجم غیرمجاز اجازه میدهد تا با ایجاد یک GitHub Issue مخرب و ترغیب کاربر به فعالسازی حالت خاصی روی آن Issue، کد دلخواه را از راه دور روی سیستم کاربر اجرا کند.
توضیحات
آسیبپذیری CVE-2025-62222 در افزونه CoPilot Chat برای Visual Studio Code (VS Code) ناشی از عدم خنثیسازی صحیح المنت های خاص در دستورات مطابق با CWE-77 و اعتبارسنجی نادرست ورودیها مطابق با CWE-20 است. این ضعف باعث میشود بخشهایی از داده که باید صرفاً بهعنوان متن معمولی پردازش شوند، بدون فیلتر مناسب وارد یک زمینه اجرایی شده و بهعنوان دستور سیستمعامل اجرا شوند.
در این سناریو، مهاجم بدون نیاز به احراز هویت میتواند یک GitHub Issue مخرب در مخزن کاربر ایجاد کند (اگر مخزن عمومی و کاربر Issues from public allowed را فعال کرده باشد). این Issue به ظاهر عادی بوده اما در بخش توضیحات خود حاوی پیلود تزریق فرمان است. برای فعالسازی حمله، مهاجم با استفاده از روشهای مهندسی اجتماعی (Social Engineering) کاربر را متقاعد میکند که در VS Code یکی از حالتهای پردازش پیشرفته افزونه، مانند Agentic AI Mode (حالت مبتنی بر ایجنت که اجازه میدهد Copilot برای انجام وظایف، محتوا را بهصورت «اقدام قابل اجرا» تفسیر کند) یا Copilot Chat Preview Mode را روی آن Issue فعال کند. با فعال شدن این حالت، افزونه محتوای Issue را پردازش کرده و المنت های مخرب موجود در توضیحات بهعنوان دستور واقعی اجرا میشوند؛ در نتیجه مهاجم میتواند کد دلخواه خود را روی سیستم لوکال کاربر اجرا کند.
این حمله از راه دور انجام میشود اما به تعامل کاربر نیاز دارد. کاربر باید Issue را در VS Code باز کرده و بهصورت دستی حالت موردنظر افزونه را فعال کند. با وجود این شرط، فرآیند بهره برداری به سادگی قابل خودکارسازی است و مهاجم میتواند تنها با تزریق کاراکترهای ویژه و ساختارهای مبتنی بر فرمان در توضیحات Issue، اقداماتی مانند دانلود و اجرای فایل، ایجاد بکدور، یا تغییر فایلهای پروژه را بدون نیاز به هر گونه دسترسی اولیه انجام دهد. پیامدهای آسیبپذیری شامل تأثیر بالا بر محرمانگی با افشای کد منبع و کلیدهای حساس، یکپارچگی با تغییر یا حذف کد و در دسترسپذیری با اختلال در محیط توسعه است. مایکروسافت این آسیبپذیری با انتشار نسخه 0.32.5 بهطور کامل پچ کرده است.
CVSS
| Score | Severity | Version | Vector String |
| 8.8 | HIGH | 3.1 | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H/E:U/RL:O/RC:C |
لیست محصولات آسیب پذیر
| Versions | Product |
| affected from 0.27.0 before 0.32.5 | Microsoft Visual Studio Code CoPilot Chat Extension |
لیست محصولات بروز شده
| Versions | Product |
| 0.32.5 | Microsoft Visual Studio Code CoPilot Chat Extension |
استفاده محصول در ایران
در این جدول، تعداد صفحات ایندکسشده در گوگل با دامنه .ir که CoPilot Chat Extension و Visual Studio Code را ذکر کرده اند، ثبت شده است. این داده صرفاً برای برآورد تقریبی حضور محصولات در وب ایران استفاده شده و نمایانگر میزان نصب دقیق و استفاده واقعی نیست.
| Approx. Usage in .ir Domain via Google
(Total Pages) |
Search Query (Dork) | Product |
| 10 | site:.ir “CoPilot Chat Extension” | CoPilot Chat Extension |
| 61,200 | site:.ir “Visual Studio Code” | Visual Studio Code |
نتیجه گیری
این آسیبپذیری با شدت بالا در افزونه CoPilot Chat امکان اجرای کد از راه دور را تنها از طریق یک GitHub Issue مخرب فراهم میکند و در نتیجه تهدیدی جدی برای توسعهدهندگان و محیطهای توسعه محسوب میشود. با توجه به انتشار پچ رسمی، اجرای فوری اقدامات زیر ضروری است:
- بهروزرسانی فوری: افزونه CoPilot Chat را در VS Code به نسخه 0.32.5 یا جدیدتر بهروزرسانی کنید. این اقدام، مؤثرترین و قطعیترین راهکار برای رفع آسیبپذیری است و باید در اولویت قرار گیرد. سایر اقدامات نقش مکمل را دارند و میتوانند به کاهش ریسک این آسیب پذیری و مقابله با حملات مشابه کمک کنند.
- غیرفعالسازی موقت: تا زمان اعمال بهروزرسانی، ویژگی هایی مانند Agentic AI mode و پیشنمایش خودکار Issueها را غیرفعال کنید تا مسیرهای سوءاستفاده مسدود شوند.
- محدودسازی دسترسی: دسترسی به مخازن GitHub را بازبینی کنید و از باز کردن Issueهای ناشناس در VS Code خودداری نمایید. در سازمانها، سیاستهای مدیریت و بررسی امنیتی Issueها را برای تیمها اعمال کنید.
- نظارت و هشدار: افزونههای امنیتی مانند GitHub Security Alerts و VS Code Extension Scanner را فعال کنید تا Issueهای مشکوک شناسایی شوند.
- ایزولهسازی محیط توسعه: از ماشینهای مجازی یا سندباکس برای تست Issueهای خارجی استفاده کنید.
- آموزش کاربران: توسعهدهندگان را درباره ریسک کلیک یا فعالسازی خودکار Issueهای ناشناس آگاه سازید.
اجرای فوری بهروزرسانی و رعایت اصول ایمنی هنگام تعامل با Issueهای ناشناس، احتمال بهرهبرداری از این آسیبپذیری را به حداقل می رساند.
امکان استفاده در تاکتیک های Mitre Attack
Initial Access (TA0001)
ورود اولیه با نشر یک GitHub Issue مخرب انجام میشود؛ مهاجم بدون نیاز به احراز هویت، محتوای آلوده را در مخزن تزریق میکند و کاربر را از طریق Social Engineering تحریک میکند که Issue را داخل VS Code با حالتهای پردازش ایجنتی باز کند. این ورودی آلوده در نقطه ورود زنجیره حمله عمل میکند و مسیر اجرای فرمان را باز میکند.
Execution (TA0002)
Copilot Chat در Agentic / Preview Mode ورودی را بهعنوان دستور قابل اجرا تفسیر کرده و آن را در محیط سیستمعامل قربانی اجرا میکند. این دقیقاً الگوی Command Injection است و منجر به اجرای کد دلخواه مهاجم روی سیستم توسعه کاربر میشود.
Persistence (TA0003)
پس از اجرای اولیه، مهاجم میتواند با اسکریپتگذاری، بکدورهای لوکال، aliasهای مخرب، یا فایلهای پیکربندی در پروژه ایجاد کند تا هر بار VS Code یا پروژه لود میشود، کد دوباره اجرا شود. این مدل پایداری مخصوص محیطهای Dev است.
Defense Evasion (TA0005)
متن Issue کاملاً «عادی» بهنظر میرسد؛ محتوای مخرب در قالب متن Markdown پنهان میشود و تفسیر مخرب توسط افزونه صورت میگیرد، نه توسط خود کاربر. این باعث عبور محتوا از چکهای سطحی و ابزارهای بررسیکننده میشود.
Credential Access (TA0006)
اجرای فرمان روی سیستم توسعه میتواند باعث خواندن API tokens، SSH keys، Git credentials و secrets لوکال شود؛ چیزی که بهطور طبیعی در محیط Dev ذخیره میشوند.
Discovery (TA0007)
مهاجم میتواند با اسکریپتهای تزریقشده، ساختار فایلها، workspace، remote origins و مسیرهای حساس را شناسایی کند تا گسترش حمله را هدفمند کند.
Lateral Movement (TA0008)
اگر سیستم قربانی به repositoryهای دیگر، build agents، سرورهای CI/CD یا dev containers متصل باشد، مهاجم میتواند از همان command execution برای جابهجایی بین محیطها استفاده کند.
Collection (TA0009)
مهاجم میتواند دادههای پروژه، سورسکد، تنظیمات workspace، فایلهای env و رمزها را جمعآوری و برای خروج آماده کند.
Exfiltration (TA0010)
دادهها میتوانند از طریق HTTP POST، Git push به مخزن مهاجم، یا tunneling ساده منتقل شوند؛ اجرای فرمان امکان هر مدل خروجیگرفتن را فراهم میکند.
Impact (TA0040)
تأثیر اصلی اجرای کد دلخواه، دسترسی به اطلاعات حساس، تغییر فایلهای پروژه، حذف داده یا ایجاد اختلال در VS Code است. این به معنای دسترسی غیرمجاز به اطلاعات حساس، تغییر غیرمجاز کد، و اثر قابلتوجه بر دسترسپذیری محیط توسعه می باشد.
منابع
- https://www.cve.org/CVERecord?id=CVE-2025-62222
- https://www.cvedetails.com/cve/CVE-2025-62222/
- https://msrc.microsoft.com/update-guide/vulnerability/CVE-2025-62222
- https://vulmon.com/vulnerabilitydetails?qid=CVE-2025-62222
- https://vuldb.com/?id.332003
- https://nvd.nist.gov/vuln/detail/CVE-2025-62222
- https://cwe.mitre.org/data/definitions/77.html
- https://cwe.mitre.org/data/definitions/20.html