Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconCraft ZIP with ../plugin/evil.dll path traversal entry
-
DeliveryPosition malicious ZIP on update delivery channel or intercept via MitM
-
ExploitUser triggers Notepad++ update
-
InstallWinGup decompresses ZIP without canonical path validation
-
C2Attacker DLL overwrites legitimate plugin DLL in sibling directory
-
ExecuteUser restarts Notepad++
-
ImpactMalicious DLL loads and executes arbitrary code in user context
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Path canonicalization, traversal prevention
MITRE ATT&CK
2 techniques across 2 tactics: Discovery, 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 three concurrent conditions: (1) the target must be running Notepad++ prior to version 8.9.7 on Windows; (2) the user must actively trigger or accept a WinGup update - the CVSS UI:R metric confirms this user interaction is mandatory and the attack cannot proceed silently without it; and (3) the attacker must control or intercept the update delivery channel to substitute a malicious ZIP for a legitimate update package (e.g., via MitM, compromised update CDN, or DNS spoofing). Exploitation is further bounded by the need for the Notepad++ process to have write access to the plugin directory - standard user-level installations will have this, but hardened environments with read-only plugin directories will block the DLL overwrite. Code execution does not occur at extraction time; a second trigger (Notepad++ restart and plugin load) is required. There is no configuration toggle or feature flag that enables or disables vulnerability exposure - all installations using WinGup prior to 8.9.7 are affected. |
| Impact | The CVSS 8.1 score (AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:H) reflects low-complexity, unauthenticated network delivery requiring only a single user interaction - a realistic threshold given that triggering an update is a routine user action. The C:N metric in the NVD vector is arguably underrated: while the direct vulnerability is DLL overwriting (I:H), successful exploitation culminates in arbitrary code execution, which yields confidentiality impact in practice. Real-world risk is meaningfully elevated by Notepad++'s broad install base and the fact that the attack vector is the update mechanism itself, a trusted workflow. No EPSS score was provided in the input data and no CISA KEV listing exists, suggesting no confirmed widespread exploitation. The absence of POC code reduces near-term opportunistic risk, but the GitHub advisory and commit diff publish a clear roadmap for exploit development. The update-delivery attack angle (MitM or compromised update server) does add a prerequisite that limits casual exploitation compared to a direct remotely exploitable service. |
| Exploit ScenarioDerived | An attacker who can intercept or substitute Notepad++'s update package - via network MitM, DNS hijacking targeting the update server, or compromise of the update distribution infrastructure - delivers a crafted ZIP containing an entry named '../mimeTools/mimeTools.dll'. When a user running Notepad++ prior to 8.9.7 triggers an update check and accepts the download, WinGup extracts the archive and writes the attacker's DLL into the mimeTools plugin directory. The next time Notepad++ starts and loads the mimeTools plugin, the attacker's code executes in the user's security context with no further interaction. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 17, 2026
Zip Slip path traversal in Notepad++'s bundled WinGup update component (versions prior to 8.9.7) allows network-delivered malicious ZIP archives to overwrite DLL files outside the intended extraction directory, enabling arbitrary code execution when Notepad++ next loads the affected plugin. The attack requires user interaction to trigger the update workflow (CVSS UI:R) but demands no authentication on the target system. No public exploit code or CISA KEV listing has been identified at time of analysis; the vulnerability is fixed in the vendor-released 8.9.7 build.
RemediationAI
Upgrade to Notepad++ 8.9.7 immediately; SHA256 checksums for all installer and portable variants are published in the GitHub release at https://github.com/notepad-plus-plus/notepad-plus-plus/releases/tag/v8.9.7. The underlying fix is in the WinGup component (wingup commit 7670296a5c7fdec624e0a45dbde51059a7d735a8, also tracked in PR #106 at https://github.com/notepad-plus-plus/wingup/pull/106). If immediate upgrade is not operationally feasible, administrators should restrict write access to the Notepad++ plugin directories using filesystem ACLs, which prevents overwriting of existing DLLs but may break legitimate plugin installation workflows. Alternatively, disabling auto-update in Notepad++ and distributing updates only via a controlled internal channel reduces the attacker's ability to substitute a malicious update package, though this is an operational control rather than a technical fix. The GitHub Security Advisory (GHSA-hjxw-84rf-wg5r at https://github.com/notepad-plus-plus/notepad-plus-plus/security/advisories/GHSA-hjxw-84rf-wg5r) should be reviewed for additional vendor guidance.
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
WinGup is the self-update component embedded in Notepad++, implemented in C++ (winmain.cpp). Its decompress() function iterates over ZIP archive entries and constructs output paths by string-joining untrusted entry names to the unzipDestTo root directory without first resolving the canonical filesystem path. A ZIP entry named '../mimeTools/mimeTools.dll' is therefore concatenated directly into a path that escapes the target directory - a classic CWE-22 (Improper Limitation of a Pathname to a Restricted Directory, 'Path Traversal') pattern commonly called 'Zip Slip'. The WinGup fix (commit 7670296a) adds GetFullPathNameW() canonicalization of both the constructed entry path and the root directory, then verifies via prefix comparison that the entry stays within the root before writing. The vulnerability is Windows-specific (Notepad++ is Windows-only), and exploitation targets the plugin directory structure where DLLs are loaded automatically at application startup.
Know when Canonical 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:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:H
Zip Slip yields arbitrary code execution via DLL planting, warranting C:H over NVD's C:N; all other NVD metrics are consistent with the described attack.
Primary rating from Vendor (github).
CVSS VectorVendor: github
Lifecycle Timeline
2DescriptionCVE.org
Notepad++ is a free and open-source source code editor. Prior to 8.9.7, the WinGup decompress function joins untrusted ZIP entry names to unzipDestTo without canonical containment validation, allowing an entry such as ../mimeTools/mimeTools.dll to overwrite a DLL in a sibling plugin directory and execute attacker-controlled code when Notepad++ next loads that plugin. This issue is fixed in version 8.9.7.
Executive ViewAI
Notepad++ prior to version 8.9.7 contains a code execution vulnerability in its automatic update component that allows attackers to compromise developer workstations. When users trigger software updates, malicious files can be injected, giving attackers complete system access. Organizations with development teams using Notepad++ should prioritize immediate remediation to prevent potential data theft and system compromise.
Apply vendor patch.
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
Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.
Oracle Java SE JDK/JRE 7 and 6 Update 27 and earlier allows remote code execution with complete system compromise throug
In PHP versions 7.1.x below 7.1.33, 7.2.x below 7.2.24 and 7.3.x below 7.3.11 in certain configurations of FPM setup it
GNU Bash through 4.3 processes trailing strings after function definitions in the values of environment variables, which
Multiple vulnerabilities in Oracle Java 7 before Update 11 allow remote attackers to execute arbitrary code by (1) using
The (1) EPHEMERAL, (2) HTTPS, (3) MVG, (4) MSL, (5) TEXT, (6) SHOW, (7) WIN, and (8) PLT coders in ImageMagick before 6.
When running Apache Tomcat versions 9.0.0.M1 to 9.0.0, 8.5.0 to 8.5.22, 8.0.0.RC1 to 8.0.46 and 7.0.0 to 7.0.81 with HTT
Remote code execution is possible with Apache Tomcat before 6.0.48, 7.x before 7.0.73, 8.x before 8.0.39, 8.5.x before 8
GNU Bash through 4.3 bash43-025 processes trailing strings after certain malformed function definitions in the values of
The (1) TLS and (2) DTLS implementations in OpenSSL 1.0.1 before 1.0.1g do not properly handle Heartbeat Extension packe
Race condition in mm/gup.c in the Linux kernel 2.x through 4.x before 4.8.3 allows local users to gain privileges by lev
Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 17 and earlier, and
Local privilege escalation in the GNU C Library (glibc) dynamic loader ld.so allows unprivileged local users on affected
EUVD-2026-60375
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB