Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessEnumerate top-level Windows handles
-
DeliveryIdentify Notepad++ main window
-
ExploitCraft WM_COPYDATA with malformed COPYDATA_FULL_CMDLINE lpData
-
ExecutionSend message via SendMessage Win32 API
-
PersistOut-of-bounds wchar_t* read triggered
-
ImpactNotepad++ process crashes (DoS, unsaved data lost)
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Bounds checking, read limits
MITRE ATT&CK
1 technique across 1 tactic: Collection The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires a process running within the same interactive Windows desktop session as the target Notepad++ instance (AV:L). Low operating system privileges are sufficient - no administrator or Notepad++ process privileges are needed (PR:L). User interaction is required in the sense that the target Notepad++ instance must be running and its message queue must be processing; the attack does not require the user to click or open a file (UI:R reflects the running-application dependency, not a phishing step). Non-default conditions that LIMIT exploitation: the attacker must already have arbitrary code execution on the endpoint in the same session, ruling out remote or cross-session attack paths; Windows UIPI will block the message if the sender runs at a lower integrity level than Notepad++, which is the default for processes launched by standard users from a Medium integrity context - both attacker and target typically run at Medium integrity, so UIPI does not provide protection in the default deployment. The vulnerability is not exploitable over a network and cannot be triggered by a file opened in Notepad++. |
| Impact | The CVSS 3.1 base score of 5.0 (Medium) reflects a local attack vector (AV:L), low attack complexity (AC:L), low privilege requirement (PR:L), and required user interaction (UI:R), with impact limited to availability (A:H). Real-world risk is constrained: the attacker must already have code execution on the same interactive Windows desktop session as the Notepad++ user, significantly reducing the attack surface compared to network-reachable vulnerabilities. There is no CISA KEV listing and no confirmed public exploit code, meaning exploitation probability from opportunistic actors is low. EPSS data was not provided in the intelligence feed, so probabilistic exploitation likelihood cannot be quantified. The 'Information Disclosure' tag in the metadata is inconsistent with the CVSS C:N rating; out-of-bounds reads can theoretically expose adjacent memory, but the CVSS and the nature of the Windows structured exception handler catch suggest the primary observable outcome is process crash rather than data leakage - defenders should not treat this as a confirmed data-exfiltration vector. The fix (exception wrapping) is a partial mitigation in debug builds only; release builds silently swallow the exception, which resolves the crash but does not enforce cbData bounds - this is worth tracking if a more complete bounds check is not subsequently added. Overall, this is a low-to-moderate priority patch for most environments: apply during the next standard update cycle rather than as an emergency. |
| Exploit ScenarioDerived | An attacker with a low-privileged process running in the same interactive Windows desktop session as Notepad++ enumerates top-level windows to locate the Notepad++ main window handle, then calls SendMessage with WM_COPYDATA, setting dwData to COPYDATA_FULL_CMDLINE and providing an lpData buffer that is not NUL-terminated within the cbData-specified length. Notepad++'s WM_COPYDATA handler reads the wchar_t* past the buffer boundary, triggering an access violation and crashing the editor, causing loss of any unsaved work. No public POC code has been identified at time of analysis, but the attack is straightforward to implement by any local process using standard Win32 API calls. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jun 26, 2026
Notepad++ versions prior to 8.9.6.1 can be crashed by any local process sharing the same interactive Windows session via a malformed WM_COPYDATA message. The COPYDATA_FULL_CMDLINE handler in NppBigSwitch.cpp dereferences COPYDATASTRUCT.lpData as an unbounded NUL-terminated wchar_t* without validating against the COPYDATASTRUCT.cbData length field, enabling an out-of-bounds read that results in process termination. No active exploitation has been confirmed (no CISA KEV listing, no public POC), and the fix is available in the vendor-released patch 8.9.6.1.
RemediationAI
Upgrade Notepad++ to version 8.9.6.1, which is the vendor-released patch confirmed by GitHub Security Advisory GHSA-r39g-3mcw-xcg2 and commit f20a0888a92ce557a339b833cd9d9d8e97dc797d. The fix wraps the lpData dereference in a structured exception handler, preventing unhandled crashes in both the COPYDATA_FULL_CMDLINE and COPYDATA_FILENAMESW paths. If an immediate upgrade is not possible, a compensating control is to restrict which processes can post messages to Notepad++ windows using Windows UI Privilege Isolation (UIPI) by running Notepad++ at a higher integrity level (e.g., Medium-High), so lower-integrity processes cannot send WM_COPYDATA to it; note this breaks legitimate IPC from same-session tools that use the Notepad++ command-line pass-through feature. Enterprise deployments managed via AppLocker or similar can also restrict which binaries are permitted to run in the same session, reducing the pool of potential sender processes.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
WM_COPYDATA is a Windows inter-process communication mechanism that allows processes to share read-only data blocks across session boundaries via the COPYDATASTRUCT structure, which carries a pointer (lpData), a byte count (cbData), and a type identifier (dwData). The vulnerable code path, identified in PowerEditor/src/NppBigSwitch.cpp, handles the COPYDATA_FULL_CMDLINE case by casting lpData directly to wchar_t* and passing it to setCmdLineString() without first confirming that the buffer contains a valid NUL terminator within the cbData-specified bounds. CWE-125 (Out-of-bounds Read) is the root cause: if a malicious sender provides lpData pointing to a buffer without a NUL terminator within cbData bytes, the string-processing logic will read past the allocation boundary. On Windows this manifests as a structured exception (access violation), which the pre-patch code did not catch, resulting in an unhandled crash. CPE cpe:2.3:a:notepad-plus-plus:notepad-plus-plus:*:*:*:*:*:*:*:* covers all prior releases. The tag 'Buffer Overflow' in the intelligence metadata is a misnomer; the actual class is out-of-bounds read, consistent with CWE-125 and the CVSS C:N/I:N/A:H impact profile.
Know when Notepad Plus Plus gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:L/AC:L/PR:L/UI:R/S:U/C:N/I:N/A:H
Local IPC attack requires same-session process; low privileges suffice; impact is availability-only crash with no confirmed data disclosure.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
1DescriptionCVE.org
Notepad++ is a free and open-source source code editor. Prior to 8.9.6.1, a local process in the same interactive Windows session can send a malformed WM_COPYDATA message to Notepad++ using the COPYDATA_FULL_CMDLINE path. The handler appears to process COPYDATASTRUCT.lpData as an unbounded NUL-terminated wchar_t* instead of enforcing COPYDATASTRUCT.cbData. This vulnerability is fixed in 8.9.6.1.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
A buffer overflow occurs when a program writes more data to a memory buffer than it was allocated to hold, causing the excess data to spill into adjacent memory regions.
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
More in Notepad Plus Plus
View allNotepad++ versions prior to 8.8.9 contain an update integrity verification vulnerability (CVE-2025-15556) when using the
Loading a crafted Notepad++ plugin that reports more than 30 external lexers can overflow a 30-element stack array insid
Local code execution in Notepad++ before 8.9.6.1 occurs because the <GUIConfig name="commandLineInterpreter"> value in c
Notepad++ installations prior to 8.9.8 crash when a local attacker can control the -settingsDir= command-line argument a
Arbitrary code execution in Notepad++ prior to 8.9.8 on Windows 10 and Windows 11 occurs when the editor's 'Folder as Wo
An Untrusted search path vulnerability in notepad++ 6.5 allows local users to gain escalated privileges through the msim
Notepad++ is a free and open-source source code editor. Rated high severity (CVSS 7.8), this vulnerability is no authent
Notepad++ versions 8.4.1 and before are vulnerable to DLL hijacking where an attacker can replace the vulnerable dll (Ux
SciLexer.dll in Scintilla in Notepad++ (x64) before 7.7 allows remote code execution or denial of service via Unicode ch
Improper signature verification in the Notepad++ updater path allows a locally planted or modified GUP.exe updater binar
Notepad++ versions before 8.9.2 allow local code execution through an unsafe search path vulnerability that permits atta
Notepad++ releases prior to 8.9.8 enforce their shortcuts.xml HMAC integrity check on the Macro menu and keyboard-shortc
EUVD-2026-39908
NVD
CVE.org
EPSS
Vulnrichment
GitHub
VulDB
Exploit-DB