
CVE-2022-31902 के लिए प्रूफ-ऑफ-कॉन्सेप्ट, Notepad++ (x86) में डेनियल-ऑफ-सर्विस भेद्यता, क्राफ्टेड टेक्स्ट फ़ाइलों पर Find All सुविधा द्वारा ट्रिगर होती है, जिससे मेमोरी आवंटन विफलता के कारण क्रैश होता है।
Notepad++(x86) में 8.4.3 और इससे पहले सेवा अस्वीकार (DoS)।जैसे first.txt) को खोलने और फिर Find All in All Opened Document या Find All in Current Opened Document विकल्प का उपयोग करने के माध्यम से कमजोरी ट्रिगर होती है।नीचे एक उदाहरण के रूप में, 11/07/2022 तक, Notepad++(x86) का नवीनतम संस्करण 8.4.3 का उपयोग किया गया है।

Find All in All Opened Document या Find All in Current Opened Document बटन दबाएँ।


यहाँ हम देख सकते हैं, समस्या ScintallComponent -> ScintillaWin.cxx -> लाइन नंबर 3699 में है।
जब उपयोगकर्ता first.txt में notepad++ की खोज कार्यक्षमता का उपयोग करता है, तो इसका परिणाम एप्लिकेशन के क्रैश होने में होता है।
Notepad++ findReplaceDlg.cpp फ़ाइल में finder::add फंक्शन को कॉल करता है, जो push_back(foundinfo) फंक्शन को कॉल करता है, जो आंतरिक रूप से 4bf21 आकार की मेमोरी आवंटन के लिए कॉल करता है।
मेमोरी की कमी के कारण, new_operator मेमोरी आवंटित करने में असमर्थ है और bad_alloc लौटाता है।
तो हम कह सकते हैं कि, Find All in All Opened Document बटन का उपयोग करके first.txt में एक कैरेक्टर की खोज करना, सेवा अस्वीकार की ओर ले जाता है।
कमजोरी निम्नलिखित संस्करणों पर काम करने के लिए परीक्षित है:
Notepad++ संस्करण 8.4.8 (32-bit) और इससे पहले में अभी भी बनी हुई है।Notepad++ संस्करण 8.4.9 (32-bit) और इससे पहले में अभी भी बनी हुई है।