
Cloud Vulnerability DB
A community-led vulnerabilities database
CVE-2026-48778 is an OS command injection vulnerability in Notepad++ that allows a local attacker to achieve arbitrary code execution by poisoning the <GUIConfig name="commandLineInterpreter"> tag in config.xml. All Notepad++ versions prior to 8.9.6.1 are affected. The vulnerability was published on May 26, 2026, and patched in version 8.9.6.1 released shortly after. It carries a CVSS v3.1 base score of 7.8 (High) (GitHub Advisory, Feedly).
The root cause (CWE-78: OS Command Injection) lies in Parameters.cpp:6430, where NppXml::value() reads the commandLineInterpreter value from config.xml and stores it in _nppGUI._commandLineInterpreter without any validation, whitelist enforcement, or digital signature verification. When the user triggers IDM_FILE_OPEN_CMD (File → Open Containing Folder → cmd), NppCommands.cpp:228 constructs a Command object using this attacker-controlled string and calls run(), which invokes ShellExecute (RunDlg.cpp:221) with the poisoned value as the executable path. Attack vectors for poisoning config.xml include direct write access at the same user privilege level (%APPDATA%\Notepad++\config.xml), malicious .lnk shortcuts using the -settingsDir= flag, cloud sync poisoning via Notepad++'s cloud path feature, and social engineering to extract a malicious archive into AppData. The fix removes the commandLineInterpreter configuration entirely and hardcodes %COMSPEC% for cmd and a registry-resolved path for PowerShell (GitHub Advisory, Patch Commit).
Successful exploitation allows a local attacker to execute arbitrary operating system commands with the privileges of the user running Notepad++, resulting in high confidentiality, integrity, and availability impact. An attacker can launch any executable — including malware, reverse shells, or ransomware — simply by waiting for the victim to use the "Open Containing Folder → cmd" menu option. While the attack vector is local, the vulnerability can be chained with other techniques (e.g., cloud sync poisoning or malicious shortcuts) to extend reach across shared environments or Windows domains (GitHub Advisory, Feedly).
%APPDATA%\Notepad++\config.xml via one of the following vectors: direct local access (same user privilege), a malicious .lnk shortcut using -settingsDir= pointing to an attacker-controlled directory, cloud sync poisoning (if the user has configured a cloud path), or social engineering to extract a malicious archive into AppData.commandLineInterpreter tag in config.xml with the path to the desired executable:<GUIConfig name="commandLineInterpreter">C:\path\to\malware.exe</GUIConfig>config.xml without validation and passes it to ShellExecute, launching the attacker-specified executable with the victim's privileges (GitHub Advisory, kavin-jindal PoC).%APPDATA%\Notepad++\config.xml containing a <GUIConfig name="commandLineInterpreter"> tag with a non-standard executable path (anything other than cmd.exe or %COMSPEC%); presence of malicious .lnk files with -settingsDir= arguments pointing to attacker-controlled directories.notepad++.exe (e.g., calc.exe, powershell.exe with encoded commands, mshta.exe, reverse shell binaries, or other unexpected executables) when the user triggers the "Open Containing Folder" menu action.notepad++.exe as the parent and an unexpected child process; Sysmon Event ID 1 logs capturing the same.notepad++.exe to external IPs, particularly shortly after the user interacts with the "Open Containing Folder → cmd" menu option.The primary remediation is to upgrade Notepad++ to version 8.9.6.1 or later, which removes the commandLineInterpreter configuration entirely and hardcodes trusted system paths (%COMSPEC% for cmd, registry-resolved path for PowerShell) (Patch Commit, v8.9.6.1 Release). As a workaround prior to patching, restrict write permissions on %APPDATA%\Notepad++\config.xml to prevent unauthorized modification. Additionally, avoid using the "Open Containing Folder → cmd" feature until the patch is applied, and audit any .lnk shortcuts or cloud-synced Notepad++ configuration directories for tampering.
The vulnerability received notable media coverage, with outlets including Heise, CSO Online, GBHackers, and CyberSecurityNews reporting on the flaw and its potential for arbitrary code execution on Windows systems (Heise, CSO Online). The CVE appeared in multiple weekly trending CVE roundups on Reddit's r/CVEWatch and r/pwnhub communities. Qualys published a dedicated threat advisory, and Tenable added detection support via Nessus plugin 318684 (Qualys Advisory, Tenable). The Notepad++ project responded promptly with a patch and community forum announcement, and the official Bluesky account acknowledged the release (Notepad++ Community).
Source: This report was generated using AI
Free Vulnerability Assessment
Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.
Get a personalized demo
"Best User Experience I have ever seen, provides full visibility to cloud workloads."
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
"We know that if Wiz identifies something as critical, it actually is."