Description
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.
Published: 2026-08-17
Score: 5.4 Medium
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

This vulnerability allows a local attacker to place a crafted shortcuts.xml file in Notepad++'s settings directory. The file bypasses the HMAC validation that normally protects UserDefinedCommands, enabling the attacker to trigger Scintilla actions and to invoke the internal 'Open in Default Viewer' command while Notepad++ runs with elevated privileges. As a result, the attacker can modify protected files and execute arbitrary commands when a user opens the malicious macro.

Affected Systems

Notepad++ versions prior to 8.9.7 are affected. The vulnerability exists in every release before that point, regardless of sub‑minor version, and can be exploited on any platform where the application is installed.

Risk and Exploitability

The CVSS score of 5.4 reflects a medium severity. Since the EPSS score is not available and the vulnerability is not listed in the CISA KEV catalog, the immediate threat level is moderate. Exploitation requires the attacker to supply a malicious shortcuts.xml file and for a user to load that file as a macro, so the attack vector is local and user‑initiated. Once the macro is executed, the attacker may gain elevated command execution with the privileges of the Notepad++ process.

Generated by OpenCVE AI on August 17, 2026 at 21:38 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Install Notepad++ version 8.9.7 or later to apply the official fix.
  • Remove any untrusted shortcuts.xml files from the settings directory or restore the file from a trusted backup.
  • If macros are not required, disable macro execution or restrict macro folders to prevent the loading of user‑supplied macros.

Generated by OpenCVE AI on August 17, 2026 at 21:38 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Mon, 17 Aug 2026 21:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'total'}, 'version': '2.0.3'}


Mon, 17 Aug 2026 20:15:00 +0000

Type Values Removed Values Added
Description 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.
Title Notepad++: shortcuts.xml Macro HMAC Bypass Enables Conditional Elevated Command Execution
Weaknesses CWE-345
CWE-693
CWE-78
References
Metrics cvssV4_0

{'score': 5.4, 'vector': 'CVSS:4.0/AV:L/AC:H/AT:P/PR:L/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N'}


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-08-17T20:26:38.601Z

Reserved: 2026-08-07T18:26:53.523Z

Link: CVE-2026-71858

cve-icon Vulnrichment

Updated: 2026-08-17T20:26:30.359Z

cve-icon NVD

Status : Received

Published: 2026-08-17T20:16:46.207

Modified: 2026-08-17T21:16:48.420

Link: CVE-2026-71858

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-17T21:45:03Z

Weaknesses
  • CWE-345

    Insufficient Verification of Data Authenticity

  • CWE-693

    Protection Mechanism Failure

  • CWE-78

    Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection')