
إثبات مفهوم (PoC) لتصعيد الصلاحيات المحلية لثغرة CVE-2026-66804 في ويندوز، باستخدام زرع DLL عبر الأجهزة (CrossDevice) وانتحال التوكن عبر SigmaPotato لتشغيل عملية SYSTEM.
إثبات مفهوم (PoC) لثغرة رفع الامتيازات المحلية (LPE) في CrossDevice/FrameServer أبلغت بها MSRC وحصلت على CVE-2026-66804. وهي تؤثر على Windows 10 وWindows 11.
يسجّل Windows خادم COM التالي على مستوى الجهاز:
HKLM\SOFTWARE\Classes\CLSID\{E9F83CF2-E0C0-4CA7-AF01-E90C70BEF496}\InprocServer32
%PROGRAMDATA%\CrossDevice\CrossDevice.Streaming.Source.dll
في التثبيتات الهشّة التي تم اختبارها، كان C:\ProgramData\CrossDevice غير موجود وكان بإمكان مستخدم عادي إنشاؤه. تسبّب زرع ملف DLL المسجّل وتشغيل كاميرا افتراضية في Media Foundation في قيام FrameServer بتحميل ملف DLL بهوية NT AUTHORITY\LOCAL SERVICE في الجلسة 0.
يستخدم إثبات المفهوم بعد ذلك صلاحية SeImpersonatePrivilege الخاصة برمز LocalService عبر أداة SigmaPotato المساعدة المضمّنة للحصول على صلاحيات SYSTEM وفتح cmd.exe عادي على سطح المكتب النشط. تُعد SigmaPotato خطوة التحويل العامة الأخيرة؛ أمّا فشل حد الأمان في Microsoft الموضّح هنا فهو تحميل DLL الموجَّه من قبل المهاجم في FrameServer والذي يسبق تلك الخطوة.
اختُبر إثبات المفهوم على إصداري Windows 11: 26200.8875 و29617.1000.
يجب ألا يكون الدليل الهدف موجودًا مسبقًا. من موجه أوامر عادي وغير مرتفع الصلاحيات، شغّل:
CrossDeviceLPE.exe
هذا كل شيء. يجب أن تحصل الآن على:
nt authority\system
يحمل الملف التنفيذي جميع مكونات وقت التشغيل مضمّنة؛ لا حاجة لملفات مرافقة أو وسائط سطر أوامر.
يضمّن إثبات المفهوم SigmaPotato 1.2.6 ونسخة مبنية من VCamSample. توجد تراخيصهما ضمن third_party/.
يحتوي المستودع على مصادر المُشغِّل والحمولة (payload) بالإضافة إلى الملفين الثنائيين التابعين لجهات خارجية والمثبّتين عند إصدارين محددين واللازمين للبناء دون اتصال بالإنترنت. على لينكس، ثبّت مجموعة أدوات MinGW-w64 GCC ثم شغّل:
./build.sh