CVE-2026-48800
Notepad++: Arbitrary Code Execution via shortcuts.xml UserCommand Injection
Notepad++ is a free and open-source source code editor. Prior to 8.9.6.1, the <Command> tag text content inside <UserDefinedCommands> in shortcuts.xml is read by NppXml::value(aNode) (Parameters.cpp:3658) in the feedUserCmds() function and stored in UserCommand._cmd without any validation. When the user clicks the corresponding entry in the Run menu, NppCommands.cpp:4264 creates a Command object with string2wstring(ucmd.getCmd()) and calls run(), which invokes ShellExecute (RunDlg.cpp:221) with the attacker-controlled string as the executable path. The injected command appears as a normal menu item in the Run menu, making it a viable persistence mechanism. This vulnerability is fixed in 8.9.6.1.
- Affected
- notepad-plus-plus
- CVSS v3.1 GITHUB
- 7.8 HIGH
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H - EPSS
- 0.21% chance of exploitation in the next 30 days, 10th percentile
- Published
- 2026-06-26
- Updated
- 2026-06-30
Proof-of-concept exploits (2)
- atiilla/Notepad-8.9.6-PoC6★ · 2026-05-28
- kavin-jindal/CVE-2026-48800-PoC0★ · 2026-05-31
Security advisories
- notepad-plus-plus/notepad-plus-plus/security/advisories/GHSA-3x3f-3j39-pj3v
- notepad-plus-plus/notepad-plus-plus/commit/6b3dc52a9245c6d8c6287a8d6d93a30981c05feb