
CVE-2022-31901 के लिए प्रूफ-ऑफ-कॉन्सेप्ट: Notepad++ (x86) <=8.4.9 में विशेष रूप से तैयार किए गए टेक्स्ट फ़ाइलों के माध्यम से सेवा अस्वीकार, मूल कारण विश्लेषण और Visual Studio डंप डीबगिंग के साथ।
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 में मौजूद है।