Notepad++ 8.9.9, released on 6 November 2026, fixes six vulnerabilities in the Windows text editor, per Notepad++’s own release notes. The highest-profile one lets a local, lower-privilege process reach plugin command execution in an elevated Notepad++ process through the optional NppExec plugin. Update to 8.9.9 to get all six fixes; none has a CVE id yet.
What Does Notepad++ 8.9.9 Fix?
GitHub’s security-advisory list for the notepad-plus-plus/notepad-plus-plus repository, published by the project’s own maintainer, covers five of the six fixes; the sixth has its own advisory on a sibling repository (see below). Four of those five name Notepad++ 8.9.8 as affected, two as the range 8.9.8 and earlier and two as 8.9.8 itself; the fifth, an earlier WM_COPYDATA file-open bypass, names 8.9.7 and earlier. Three of the five give a CVSS 3.1 score and none gives a CVSS 4.0 score; the WM_COPYDATA-to-NppExec advisory gives no CVSS score at all.
| Flaw | GitHub Advisory | CWE | Severity | Fixed in |
|---|---|---|---|---|
| WM_COPYDATA sender authentication bypass allowing low-integrity processes to force arbitrary file open | GHSA-pg39-63h5-cx35 | CWE-346 | Medium, CVSS 3.1 5.3 | 8.9.9 |
| WM_COPYDATA privilege escalation reaching plugin command execution through NppExec | GHSA-5jjv-2h6g-63p5 | CWE-940 | Medium | 8.9.9 |
| Heap disclosure via unchecked clipboard length in Paste Binary | GHSA-h5cv-65m7-x97v | CWE-125 | Medium, CVSS 3.1 5.6 | 8.9.9 |
| Out-of-bounds array index via NPPM_MENUCOMMAND reaching ShellExecute | GHSA-j327-595g-jg4c | CWE-129 | Medium, CVSS 3.1 5.3 | 8.9.9 |
| UAC save broker TOCTOU allowing local content substitution in protected files | GHSA-w7wv-vg94-7pvp | CWE-367 | Medium, CVSS 3.1 6.6 | 8.9.9 |
Notepad++’s release notes list one more fix beyond this table’s rows: a heap buffer overflow and decompression-bomb issue in the SAML decode routine of the MIME Tools plugin, fixed in MIME Tools 3.2. That fix has its own GitHub advisory, GHSA-554x-h7h6-gqfm, published 6 November 2026 on the MIME Tools plugin’s own repository rather than on the main Notepad++ repository; it gives no CVE id as of 10 November 2026.
How Does the Plugin Command Execution Bypass Work?
Notepad++ checks a `WM_COPYDATA` sender by looking at the process that owns the window handle named in the message, per GitHub’s advisory. That handle is attacker-supplied, and it is not bound to the process that actually sent the message. A local, same-user process can therefore name a separate, legitimate Notepad++ window as the sender and supply its own data instead.
With the optional NppExec plugin installed and already running elevated, GitHub’s advisory says a spoofed message can make NppExec run a command from that elevated context. The advisory calls this conditional local high-integrity code execution, not remote code execution, and credits reporter sigure21.
A [[local privilege escalation::An attacker who already runs code on a machine gets higher-level access than their current account allows.]] of this kind depends on the NppExec plugin being installed and already elevated; Notepad++’s core advisory does not state how common that configuration is among its users. Our privilege escalation glossary entry and the T1068 exploitation for privilege escalation technique page cover the general pattern.
What Should You Do About Notepad++ 8.9.9 Now?
- Update every installReplace the running Notepad++ build with 8.9.9 from the project’s own download page, on every machine, including portable copies.
- Confirm the versionCheck Help then About Notepad++ after updating. Four of the five main-repo GitHub advisories list only builds up to 8.9.8 as affected; one, GHSA-pg39-63h5-cx35, extends to 8.9.7 and earlier.
- Prioritize hosts with NppExec elevatedUpdate first wherever a shared or multi-user machine runs Notepad++ with the NppExec plugin already elevated. GitHub’s advisory names NppExec 0.8.12.1 as the plugin the bypass used to reach execution.
- Track the advisory page, not a CVE idNone of the six 8.9.9 fixes has a CVE id yet, per Notepad++’s own release notes and GitHub’s advisories. We recommend watching the project’s own advisory list rather than a CVE search.
A GitHub search for NppExec and WM_COPYDATA on 10 November 2026 returned the NppExec plugin’s own repository and routine user automation scripts, not proof-of-concept code for this flaw. Our patch management entry covers how to roll an update like this one out across many machines.
Frequently Asked Questions
Do the Notepad++ 8.9.9 fixes have CVE ids?
Not yet. Notepad++'s own release notes list all six fixes as "CVE ID not assigned yet," and five related GitHub advisories on the notepad-plus-plus/notepad-plus-plus repository, plus one on the MIME Tools repository, each show no CVE id as of 10 November 2026.
Does the plugin command execution flaw need the NppExec plugin?
Yes. GitHub's advisory GHSA-5jjv-2h6g-63p5 says the bypass reaches plugin command execution only when the optional NppExec plugin is installed and already running in an elevated Notepad++ process.
Which Notepad++ versions do the GitHub advisories list as affected?
GHSA-pg39-63h5-cx35 names 8.9.7 and earlier. The other four advisories on the main repository (GHSA-5jjv, h5cv, j327, w7wv) name 8.9.8 as affected: two state the range as 8.9.8 and earlier, two name only 8.9.8 itself. GHSA-554x for MIME Tools affects version 3.1 and earlier. 8.9.9 fixes all six flaws.
Is there a public proof of concept for the NppExec bypass?
A GitHub search for NppExec and WM_COPYDATA on 10 November 2026 returned the NppExec plugin's own repository and ordinary user automation scripts, not proof-of-concept code for this flaw.
Sources
- Notepad++ v8.9.9 release
- GHSA-pg39-63h5-cx35: WM_COPYDATA allows low-integrity processes to force arbitrary file open
- GHSA-5jjv-2h6g-63p5: WM_COPYDATA sender authentication bypass enables conditional High-integrity execution via NppExec
- GHSA-h5cv-65m7-x97v: Heap disclosure via unchecked clipboard length in Paste Binary
- GHSA-j327-595g-jg4c: Out-of-bounds array index via NPPM_MENUCOMMAND reaches ShellExecute
- GHSA-w7wv-vg94-7pvp: UAC save broker TOCTOU allows local content substitution in protected files
- GHSA-554x-h7h6-gqfm: MIME Tools plugin SAML decode heap buffer overflow
