
CVE-2022-21877 (स्टोरेज स्पेस कंट्रोलर मेमोरी लीक) के लिए एक डेमो PoC
यह रिपॉजिटरी CVE-2022-21877 के लिए एक POC रखती है, जिसे Quang Linh ने खोजा, जो STAR Labs में काम करते हैं। यह spaceport.sys ड्राइवर के अंदर पाया गया एक सूचना लीक है।
एक साथ ब्लॉगपोस्ट इस पते पर पाया जा सकता है।
POC बनाने के लिए, बस .\build चलाएँ।
इसे चलाने के लिए, आपको अपनी मशीन पर एक पूल की आवश्यकता है जो एक Tier प्राप्त कर सके। मेरे परीक्षणों में, इसका मतलब कम से कम दो स्टोरेज पूल होना है, एक आदिम और दूसरा। यह सब इसलिए क्योंकि आदिम पूल में Tier संलग्न नहीं हो सकता।
आवश्यक कॉन्फ़िगरेशन प्राप्त करने के लिए, आप एक वर्चुअल मशीन पर 3 वर्चुअल डिस्क सेट कर सकते हैं। ये Microsoft द्वारा स्वचालित रूप से आदिम पूल के रूप में उपयोग किए जाएंगे। फिर आप रीबूट कर सकते हैं, दो और वर्चुअल डिस्क जोड़ सकते हैं। फिर आप निम्न कमांड के साथ, एक व्यवस्थापक के रूप में, दूसरा पूल बना सकते हैं:
New-StoragePool -FriendlyName Pool2 -StorageSubsystemFriendlyName "Windows Storage*" -PhysicalDisks (Get-PhysicalDisk -CanPool $True)
सब कुछ सेट हो जाने पर, POC को एक व्यवस्थापक के रूप में लॉन्च करें, इसे उपयोग योग्य पूल का "FriendlyName" प्रदान करें (उदाहरण के लिए वह जो आपने अभी बनाया है)।
यह POC सिस्टम बफर के पार स्थित अनियंत्रित डेटा को लीक करने की अनुमति देता है। जैसा कि ब्लॉगपोस्ट में समझाया गया है, मैं किसी दिए गए कर्नेल ऑब्जेक्ट का नियंत्रित लीक ट्रिगर करने में सक्षम नहीं था। यह इस प्रकार दिखता है:
