CVE-2026-5525Notepad++ 8.9.3版本中存在栈缓冲区溢出漏洞。该漏洞位于文件拖放处理组件,当用户拖入长度恰好为259字符且不含尾部反斜杠的目录路径时,程序在追加反斜杠和终止符时未进行边界检查,导致数据写入越界,引发STATUS_STACK_BUFFER_OVERRUN异常并使应用程序崩溃。
该漏洞源于 Notepad++ 在处理文件拖放操作时的逻辑缺陷。当用户将一个长度恰好为259个字符且不包含尾部反斜杠的目录路径拖入应用程序窗口时,程序内部的处理逻辑会自动尝试在该路径末尾追加一个反斜杠以及一个空终止符。由于代码未对追加后的总长度(259 + 2 = 261字节)进行严格的边界检查,而目标栈缓冲区分配空间不足以容纳该数据,导致写入操作严重越界。这种越界写操作覆盖了栈上的返回地址或其他关键数据,触发了 STATUS_STACK_BUFFER_OVERRUN 异常,最终导致应用程序拒绝服务。攻击者利用此漏洞需要本地访问权限并诱导用户进行特定的交互操作。