Notepad++ is a free and open-source source code editor. In v8.9.6.1, isInTrustedDirectory() does NOT canonicalize the path before checking. It uses a prefix-based check (PathIsPrefix() or equivalent) that matches paths starting with trusted directory strings. A path traversal using ..\..\ after a trusted directory prefix passes the check while resolving to an untrusted location. The CVE-2026-48800 patch adds isInTrustedDirectory() validation in Command::run() (RunDlg.cpp) before calling ShellExecute(). This function checks whether the resolved executable path is under a trusted directory. This vulnerability is fixed in 8.9.6.2.
References
| Link | Resource |
|---|---|
| https://github.com/notepad-plus-plus/notepad-plus-plus/commit/ea1508855e9c4528f6198ce9d345f13cb759ebf4 | Patch |
| https://github.com/notepad-plus-plus/notepad-plus-plus/security/advisories/GHSA-p58x-r3c9-x9p6 | Exploit Patch Vendor Advisory |
Configurations
History
No history.
Information
Published : 2026-06-26 21:16
Updated : 2026-06-29 21:22
NVD link : CVE-2026-52884
Mitre link : CVE-2026-52884
CVE.ORG link : CVE-2026-52884
JSON object : View
Products Affected
notepad-plus-plus
- notepad\+\+
CWE
CWE-42
Path Equivalence: 'filename.' (Trailing Dot)
