
Prueba de concepto para CVE-2022-31902, una vulnerabilidad de denegación de servicio en Notepad++ (x86) activada por la función Buscar todo en archivos de texto manipulados, causando un bloqueo por fallo de asignación de memoria.
Notepad++(x86) en 8.4.3 y before.e.g. first.txt) y luego usar las opciones Find All in All Opened Document o Find All in Current Opened Document en las opciones de búsqueda.Como ejemplo ilustrativo a continuación, a partir del 11/07/2022, se utiliza la versión más reciente de Notepad++(x86) que es 8.4.3.

Find All in All Opened Document o Find All in Current Opened Document.


Aquí podemos ver que el problema está en ScintallComponent -> ScintillaWin.cxx-> Línea número 3699.
Cuando el usuario usa la funcionalidad de búsqueda de Notepad++ en first.txt, provoca que la aplicación se bloquee.
Notepad++ llama a la función finder::add en el archivo findReplaceDlg.cpp que llama a la función push_back(foundinfo), la cual internamente solicita la asignación de memoria de tamaño 4bf21 .
Debido a la falta de memoria, el new_operator no puede asignar la memoria y devuelve bad_alloc.
Por lo tanto, podemos decir que buscar un carácter en first.txt usando el botón Find All in All Opened Document provoca una denegación de servicio.
La vulnerabilidad está probada para funcionar en las siguientes versiones:
Notepad++ versions 8.4.8 (32-bit) and before.Notepad++ versions 8.4.9 (32-bit) and before.