Notepad++: shortcuts.xml Macro HMAC Bypass Enables Conditional Elevated Command Execution
Key facts
- Attack vector
- Local
- Privileges required
- Low
- User interaction
- Passive
- Attack complexity
- High
- Attack requirements
- Present
- Impact type
- Security bypass, Code execution
- Confidentiality · integrity · availability
- High · High · High
- Fix status
- Fixed
Attack profile from CVSS 4.0 · CNA. Fix status from CNA. Impact type from CWE-345 and CWE-78.
Summary
Notepad++ is a free and open-source source code editor. Prior to 8.9.7, macros loaded from an attacker-controlled shortcuts.xml bypass the HMAC validation applied to UserDefinedCommands and can invoke Scintilla actions and the internal Open in Default Viewer command in an elevated Notepad++ process, allowing protected file modification and conditional elevated command execution when a local attacker influences settingsDir and a user triggers the macro. This issue is fixed in version 8.9.7.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- No
- Technical impact
- Total
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| notepad-plus-plus | notepad-plus-plus | before 8.9.7 | 8.9.7 | Patch available | CNA |
- notepad-plus-plus Vendornotepad-plus-plus Affected before 8.9.7 Fixed in 8.9.7 Patch available CNA
CPE names Threatist (inferred) · 1
Inferred from how NVD named this product before; not given by a source.
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:notepad-plus-plus:notepad\+\+:*:*:*:*:*:*:*:* | — | — | notepad-plus-plus |
- cpe:2.3:a:notepad-plus-plus:notepad\+\+:*:*:*:*:*:*:*:* Versions — — ·notepad-plus-plus
Remediation
- Fix · CNA notepad-plus-plus (notepad-plus-plus) Fixed in 8.9.7
Timeline
- 2026-10-02 Threatist record created from CVE-2026-71858
References
More notepad-plus-plus vulnerabilities
- TI-2025-14195 Notepad++ < 8.8.9 WinGUp Updater Lacks Update Integrity Verification KEVCVSS 4.0HIGH 7.7
- TI-2026-58566 Notepad++: Stack Buffer Overflow in Plugin Lexer Loading via Unchecked GetLexerCount() Return Value CVSS 3.1HIGH 8.6
- TI-2026-58869 Notepad++: Stack Buffer Overflow in `NppParameters::writeSession` via overlong session path CVSS 3.1HIGH 7.8
- TI-2026-54091 Notepad++ “Run by system” executes *.txt.cmd when user selected *.txt (target confusion → command execution) CVSS 3.1HIGH 7.8
- TI-2026-36070 Notepad++: Arbitrary Code Execution via shortcuts.xml UserCommand Injection CVSS 3.1HIGH 7.8
- TI-2026-36048 Notepad++: Arbitrary Code Execution via config.xml commandLineInterpreter CVSS 3.1HIGH 7.8
Sources
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences