
Exploit proof-of-concept per CVE-2022-31902, una vulnerabilità denial-of-service in Notepad++ innescata dalla ricerca all'interno di un file di testo appositamente predisposto, con analisi della causa principale e versioni testate.
Notepad++(x86) in 8.4.3 e precedenti.first.txt) e quindi utilizzando le opzioni Find All in All Opened Document o Find All in Current Opened Document nelle opzioni di Ricerca.Come esempio illustrativo qui sotto, alla data 11/07/2022, viene utilizzata la versione più recente di Notepad++(x86) 8.4.3.

first.txt e cercare un qualsiasi carattere in Notepad++, quindi premere il pulsante Find All in All Opened Document o Find All in Current Opened Document.


Qui possiamo vedere, il problema è in ScintallComponent -> ScintillaWin.cxx-> Line number 3699.
Quando l'utente utilizza la funzionalità di ricerca di Notepad++ in first.txt, l'applicazione si blocca.
Notepad++ chiama la funzione finder::add nel file findReplaceDlg.cpp che chiama la funzione push_back(foundinfo), la quale internamente richiede l'allocazione di memoria di dimensione 4bf21.
A causa della mancanza di memoria, il new_operator non è in grado di allocare la memoria e restituisce bad_alloc.
Quindi possiamo dire che cercare un carattere in first.txt utilizzando il pulsante Find All in All Opened Document porta a un Denial of Service.
La vulnerabilità è stata testata per funzionare sulle seguenti versioni:
versioni di Notepad++ 8.4.8 (32-bit) e precedenti.versioni di Notepad++ 8.4.9 (32-bit) e precedenti.