Notepad++(x86) 在 8.4.3 及 之前版本 中存在拒绝服务(DoS)漏洞。first.txt),然后在查找选项中使用“在所有打开文档中查找全部”或“在当前打开文档中查找全部”功能,触发漏洞。以下举例说明,截至 2022年11月7日,最新版本的 Notepad++(x86)为 8.4.3。




此处可见,问题出现在 ScintallComponent -> ScintillaWin.cxx-> 第 3699 行。
当用户在 first.txt 中使用 Notepad++ 的查找功能时,会导致应用程序崩溃。
Notepad++ 调用了 findReplaceDlg.cpp 文件中的 finder::add 函数,该函数会调用 push_back(foundinfo) 函数,该函数内部尝试分配大小为 4bf21 的内存。
由于内存不足,new_operator 无法分配内存,并返回 bad_alloc。
因此,我们可以认为:在 first.txt 中,使用“在所有打开文档中查找全部”按钮搜索字符,会导致拒绝服务。
该漏洞经验证可在以下版本中复现:
Notepad++ 8.4.8(32位)及之前版本 中依然存在。Notepad++ 8.4.9(32位)及之前版本 中依然存在。