
مقال قصير حول ثغرة EnterpriseModernAppManager::ProvisionApplication
هذه مجرد تدوينة قصيرة تشرح الناحية النظرية، لأن هذا الثغرة تم اكتشافها بشكل متزامن، ولم أتمكن أبدًا من اختبارها على نحو سليم.
EnterpriseAppMgmtSvc هو خدمة مثيرة للاهتمام تطبّق كائنات COM. يبدو أنها تعود إلى حقبة Windows Phone، وبالفعل معظم واجهات COM التي تنفّذها هذه الوظيفة هي كود ميت لا يعمل إلا على Windows Phone - بفضل OneCore!
الـ coclass الوحيد الذي يبدو أنه يعمل افتراضيًا على الأنظمة غير المعتمدة على WCOS هو EnterpriseModernAppManager. كان لدى مايكروسوفت في الأصل فحص صلاحيات (يتطلب صلاحيات المسؤول) على EnterpriseModernAppManager::InstallApplication()، لكنها نسيت إضافة أي فحوصات صلاحيات على الطرق الأخرى في هذا الـ coclass.
(بطبيعة الحال، يضيف تصحيح CVE-2022-35841 فحوصات الصلاحيات للطرق الأخرى في EnterpriseModernAppManager.)
الطريقة المثيرة للاهتمام هنا هي EnterpriseAppMgmtSvc::ProvisionApplication، والتي تقوم بمرحلة التجهيز (تثبيت جزئي؟) لحزم APPX من إعدادات سلسلة XML ممرَّرة إليها.
يمكن ضبط أي حزمة APPX، عبر عدد قليل من الصلاحيات المقيّدة، على تثبيت خدمة NT تعمل بصلاحيات SYSTEM، وذلك عبر امتداد desktop6:Service والصلاحيتين المقيّدتين packagedServices و localSystemServices.
هذا هو كل ما وصلت إليه. لم أتوقع بطبيعة الحال حدوث اكتشاف متزامن وتصحيح اليوم، لذلك لم أختبر هذا عمليًا، وبالتالي لا أعرف نوع التوقيع الذي ستحتاجه حزمة APPX.