CVE-2026-21509 — Microsoft Office सुरक्षा सुविधा बायपास
- CVE-2026-21509 एक Microsoft Office security feature bypass भेद्यता है
- CVSS 7.8, जिसका सक्रिय रूप से APT28 (रूसी हैकर्स) द्वारा यूक्रेन के विरुद्ध शोषण किया जा रहा है
- सुरक्षा निर्णयों में अविश्वसनीय इनपुट पर निर्भरता (CWE-807) — "kill bit को तोड़ना"
- दुर्भावनापूर्ण दस्तावेज़ों के माध्यम से Protected View और OLE mitigations को बायपास करने की अनुमति देता है
- Office 2016, 2019, 2021, 2024, Microsoft 365 Apps को प्रभावित करता है
- आपातकालीन out-of-band पैच जनवरी 2026 में जारी किया गया
अवलोकन
CVE-2026-21509 Microsoft Office में एक security feature bypass भेद्यता है, जो किसी हमलावर को Protected View और OLE (Object Linking and Embedding) mitigations को दरकिनार करने की अनुमति देती है। यह दोष इस बात में निहित है कि Office kill bit को कैसे मान्य करता है — यह एक registry तंत्र है जिसे खतरनाक CLSID को ब्लॉक करने के लिए डिज़ाइन किया गया है। एक बदले हुए CLSID के साथ एक विशेष रूप से तैयार OLE object प्रदान करके या activation context में हेरफेर करके, एक हमलावर Office को एक embedded control पर भरोसा करने के लिए धोखा दे सकता है जिसे ब्लॉक किया जाना चाहिए था।
तकनीकी विवरण
मूल कारण: CWE-807 — सुरक्षा निर्णय में अविश्वसनीय इनपुट पर निर्भरता।
COM/OLE object पर kill-bit जाँच उस डेटा का उपयोग करती है जिसे एक हमलावर document-level overrides के माध्यम से प्रभावित कर सकता है। विशेष रूप से, कुछ Office दस्तावेज़ों में IDataObject या IOleObject implementation kill-bit lookup को हमलावर-नियंत्रित registry path पर पुनर्निर्देशित कर सकता है, या एक GUID प्रदान कर सकता है जो blocklist को पूरी तरह से बायपास कर देता है।
हमला वेक्टर:
- एक विशेष रूप से तैयार RTF या DOCX फ़ाइल एक दुर्भावनापूर्ण OLE object embed करती है (जैसे shell-execution COM control)।
- खोले जाने पर, Office OLE object को सक्रिय करने से पहले kill-bit registry query करता है।
- दस्तावेज़ एक spoofed CLSID प्रदान करता है या query को एक OLE verb/datapath entry के माध्यम से विफल कर देता है जो एक गैर-मानक registry location की ओर इंगित करती है।
- kill bit अपेक्षित path पर नहीं मिलता है, इसलिए Office control को बिना किसी प्रतिबंध के लॉन्च करता है।
- Control हमलावर-आपूर्ति किया गया कोड (जैसे MSHTA, PowerShell, या script engine) निष्पादित करता है।
प्रभावित संस्करण
| उत्पाद | संस्करण / बिल्ड |
|---|
| Office 2016 | KB5002711 से पहले के सभी संस्करण |
| Office 2019 | KB5002712 से पहले के सभी संस्करण |
| Office 2021 | KB5002713 से पहले के सभी संस्करण |
| Office 2024 | KB5002714 से पहले के सभी संस्करण |
| Microsoft 365 Apps | 2501 (जनवरी 2026) से पहले का बिल्ड |
पुनरुत्पादन चरण
- Windows 10/11 x64 परीक्षण वातावरण पर Microsoft Office का एक प्रभावित संस्करण स्थापित करें (ऊपर दी गई तालिका देखें)।
- दिए गए
exploit.py का उपयोग करके एक दुर्भावनापूर्ण दस्तावेज़ बनाएं:
python exploit.py --output malicious.doc --payload "calc.exe"
- उत्पन्न फ़ाइल को Office में खोलें। Protected View बायपास हो जाना चाहिए और पेलोड निष्पादित हो जाएगा।
- पैच लागू करने के बाद, वही फ़ाइल ब्लॉक कर दी जानी चाहिए — जो फिक्स की पुष्टि करती है।
प्रूफ ऑफ कॉन्सेप्ट
इस रिपॉजिटरी में exploit.py स्क्रिप्ट एक विशेष रूप से तैयार RTF/DOC फ़ाइल उत्पन्न करती है जो:
- एक OLE object embed करती है जिसका CLSID
{0002DF01-0000-0000-C000-000000000046} पर सेट है (DHTML Edit Control — एक सामान्यतः हथियार के रूप में प्रयुक्त नियंत्रण)।
- एक्टिवेशन के दौरान kill-bit lookup को बायपास करने के लिए RTF में
\objdata और \object समूहों में हेरफेर करती है।
- वैकल्पिक रूप से एक script payload (PowerShell या MSHTA) बंडल करती है जो एक्टिवेशन पर चलता है।
⚠ चेतावनी: यह PoC केवल अधिकृत सुरक्षा परीक्षण के लिए प्रदान किया गया है। उन सिस्टमों पर तैनात न करें जिनके स्वामी आप नहीं हैं या जिनके परीक्षण की आपके पास स्पष्ट अनुमति नहीं है।
शमन
- जनवरी 2026 out-of-band अपडेट स्थापित करें — यह एकमात्र पूर्ण फिक्स है।
- KB5002711 में प्रदान की गई augmented kill-bit सूची की समीक्षा करें और लागू करें।
- Office child-process निर्माण के लिए Attack Surface Reduction (ASR) नियम सक्षम करें।
- ज्ञात exploit दस्तावेज़ों को ब्लॉक करने के लिए Microsoft Defender for Office 365 का उपयोग करने पर विचार करें।
- Group Policy के माध्यम से OLE object एक्टिवेशन प्रतिबंधित करें:
`Computer Configuration > Administrative Templates > Microsoft Office
Security Settings > Disable OLE Activation`.
संदर्भ