
EnterpriseModernAppManager::ProvisionApplication बग पर छोटा लेख
यह केवल सिद्धांत के साथ एक छोटा सा लेख है, क्योंकि इस बग पर टकराव हो गया था और मैं वास्तव में इसका ठीक से परीक्षण नहीं कर पाया।
EnterpriseAppMgmtSvc एक दिलचस्प सेवा है जो COM ऑब्जेक्ट लागू करती है। यह Windows Phone से चली आ रही प्रतीत होती है, और वास्तव में, इस फ़ंक्शन द्वारा लागू किए गए अधिकांश COM इंटरफ़ेस मृत कोड हैं जो केवल Windows Phone पर काम करते हैं - धन्यवाद OneCore!
गैर-WCOS सिस्टम पर डिफ़ॉल्ट रूप से काम करने वाला एकमात्र coclass EnterpriseModernAppManager है। MS के पास मूल रूप से EnterpriseModernAppManager::InstallApplication() पर एक अनुमति जाँच (एडमिन होना आवश्यक) थी, लेकिन इस coclass के अन्य मेथड में कोई अनुमति जाँच जोड़ना भूल गया।
(स्वाभाविक रूप से, CVE-2022-35841 के लिए पैच EnterpriseModernAppManager में अन्य मेथड के लिए अनुमति जाँच जोड़ता है।)
यहाँ दिलचस्प मेथड EnterpriseAppMgmtSvc::ProvisionApplication है, जो पारित XML-स्ट्रिंग कॉन्फ़िगरेशन से APPX पैकेजों को स्टेज (आंशिक रूप से इंस्टॉल?) करता है।
एक मनमाना APPX पैकेज, कुछ प्रतिबंधित क्षमताओं के माध्यम से, desktop6:Service एक्सटेंशन और packagedServices तथा localSystemServices प्रतिबंधित क्षमता के ज़रिए, SYSTEM के रूप में चलने वाली NT सेवा स्थापित करने के लिए कॉन्फ़िगर किया जा सकता है।
मैं केवल इतना ही आगे बढ़ पाया। मुझे स्वाभाविक रूप से आज किसी टकराव और पैच की उम्मीद नहीं थी, इसलिए मैंने व्यवहार में इसका परीक्षण कभी नहीं किया और इसलिए मुझे नहीं पता कि APPX को किस प्रकार के हस्ताक्षर की आवश्यकता होगी।