
प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट जो Notepad++ (x86) के 8.4.9 तक के संस्करणों में denial-of-service भेद्यता को प्रदर्शित करता है, जो विशेष रूप से तैयार किए गए टेक्स्ट फ़ाइलों को खोलने से ट्रिगर होती है, साथ ही root cause विश्लेषण और परीक्षण किए गए संस्करणों के साथ।
Notepad++(x86) में 8.4.3 और इससे पहले के संस्करणों में सेवा अस्वीकार (DOS) हमला।e.g. first.txt & second.txt) को notepad++ में इनपुट के रूप में खोलने से।नीचे एक उदाहरण के रूप में, 11/07/2022 तक, Notepad++(x86) का नवीनतम संस्करण 8.4.3 का उपयोग किया गया है।



यहाँ हम ScintallComponent -> Editor.h -> पंक्ति संख्या 690 में इन फ़ाइलों को पार्स करने की समस्या देख सकते हैं।
जब notepad++ कोई फ़ाइल खोलता है तो यह एक फ़ंक्शन notepad_plus::addHotSpot को कॉल करता है जो new ऑपरेटर के साथ हीप मेमोरी बनाता है और रिटर्न एड्रेस को widetext वेरिएबल में संग्रहीत करता है
TCHAR *wideText = new TCHAR[endPos - startPos + 1];। चूंकि यह बड़े आवंटन का अनुरोध करता है, new bad_alloc लौटाता है जिसे notepad++ में संभाला नहीं जाता है और इसके परिणामस्वरूप DoS होता है।
अतः यह कहा जा सकता है कि Notepad++(x86) <= 8.4.3 के साथ दो उदाहरण फ़ाइलों को खोलने से सेवा अस्वीकार की स्थिति उत्पन्न होती है।
भेद्यता निम्नलिखित संस्करणों पर काम करने के लिए परीक्षित की गई है:
Notepad++ versions 8.4.8 (32-bit) and before में मौजूद है।Notepad++ versions 8.4.9 (32-bit) and before में मौजूद है।