تنفيذ تعليمات برمجية عن بُعد في Visual Studio Copilot وSSMS
أساليب الهجوم وتقنياته2026-10-21, 14:33
اكتشف الباحث Johann Rehberger خطأ في التحقق من صحة المسار في
Microsoft.VisualStudio.Copilot.Core.dll، والذي يستخدمه Visual Studio وSQL Server Management Studio. تم تعيين المعرّف CVE-2026-103572 للثغرة.كان Copilot يمنع تعديل ملف التكوين
settings.VisualStudio.json، لكنه لم يتعرف على المسار نفسه مع نقطة إضافية في النهاية — settings.VisualStudio.json.. عند الوصول إليه عبر واجهات برمجة تطبيقات ملفات Windows العادية، كانت النقطة اللاحقة تُهمَل، لذا أثّرت عملية الكتابة على الملف المحمي الأصلي. سمح ذلك للمهاجم بتجاوز القيد المفروض على تعديل الإعدادات التي تتحكم في تنفيذ الأوامر.جعل ذلك من الممكن تنفيذ سلسلتين:
• Visual Studio: من خلال حقن موجه غير مباشر، يعدّل الوكيل
copilot.general.tools.ripgrepPath، محددًا ملفًا تنفيذيًا عشوائيًا. أثناء بحث لاحق، يشغّله Copilot. استخدم PoC الملف calc.exe.
• Visual Studio وSSMS: يعدّل الوكيل .mcp.json، ويضيف خادم MCP خبيثًا، وينشّطه عبر enabledMcpServers وdisabledMcpServers. عند بدء تشغيل الخادم، يُنفَّذ الأمر المحدد.
بالإضافة إلى ذلك، اكتشف الباحث تجاوزات باستخدام ..\ في المسارات إلى دليل Extensions الموثوق. في SSMS، جعلت هذه التجاوزات من الممكن قراءة SSMS.isolation.ini، والحصول على InstallationID، وتحديد المسار إلى settings.json الخاص بالمستخدم، وهو ما كان ضروريًا لتنشيط خادم MCP بشكل موثوق.
يمكن بدء الهجوم عبر حقن موجه غير مباشر — على سبيل المثال، تعليمات في ملف طلب المستخدم من Copilot تحليله، أو في بيانات يعيدها خادم MCP. يعمل حقن الموجه هنا كمحفّز، بينما تُنشأ القدرة المباشرة على RCE بواسطة خطأ التحقق من صحة مسار الملف.أصدرت Microsoft تصحيحًا في 13 أكتوبر 2026. وفقًا لتحليل فرق التصحيح الذي أجراه المؤلف، أُضيف
GetFullPath إلى الفحص لتطبيع المسار قبل المقارنة.الثغرات
المورّدون
المنتجات
المزيد