Notepad++ is a free and open-source source code editor. Prior to 8.9.6.1, the <Command> tag text content inside <UserDefinedCommands> in shortcuts.xml is read by NppXml::value(aNode) (Parameters.cpp:3658) in the feedUserCmds() function and stored in UserCommand._cmd without any validation. When the user clicks the corresponding entry in the Run menu, NppCommands.cpp:4264 creates a Command object with string2wstring(ucmd.getCmd()) and calls run(), which invokes ShellExecute (RunDlg.cpp:221) with the attacker-controlled string as the executable path. The injected command appears as a normal menu item in the Run menu, making it a viable persistence mechanism. This vulnerability is fixed in 8.9.6.1.
{
"cna_assigner": "GitHub_M",
"cwe_ids": [
"CWE-78"
],
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/48xxx/CVE-2026-48800.json"
}{
"extracted_events": [
{
"introduced": "0"
},
{
"fixed": "8.9.6.1"
}
],
"cpe": "cpe:2.3:a:notepad-plus-plus:notepad\\+\\+:*:*:*:*:*:*:*:*",
"source": [
"CPE_RANGE",
"REFERENCES"
]
}
[
{
"target": {
"file": "PowerEditor/src/MISC/Common/Common.h"
},
"signature_type": "Line",
"deprecated": false,
"signature_version": "v1",
"source": "https://github.com/notepad-plus-plus/notepad-plus-plus/commit/6b3dc52a9245c6d8c6287a8d6d93a30981c05feb",
"digest": {
"threshold": 0.9,
"line_hashes": [
"181749774991663582470146473554578815497",
"302062722942154120375185208124651106932",
"98650372999019360375251111752325439057",
"166587692734691029424276735712274430161",
"248945003677904811749860784051606117262",
"60143463155504444613184730036767910813",
"297085810103251681647951248593102369155"
]
},
"id": "CVE-2026-48800-60c17733"
},
{
"target": {
"file": "PowerEditor/src/WinControls/StaticDialog/RunDlg/RunDlg.cpp"
},
"signature_type": "Line",
"deprecated": false,
"signature_version": "v1",
"source": "https://github.com/notepad-plus-plus/notepad-plus-plus/commit/6b3dc52a9245c6d8c6287a8d6d93a30981c05feb",
"digest": {
"threshold": 0.9,
"line_hashes": [
"221921915779621385131946717933910183460",
"88466601233794470682984332613726237019",
"233855574128720763237116379589860855975",
"77838736082028174444766894787910478963",
"334229428646160504944987239565152517410",
"328969565235246161758957266620694167180",
"79929896174919516706123434099940561774",
"74271544263323431714801046355917189500",
"211226476317830858058080390022595763559",
"165786206552619507259787719741535092071"
]
},
"id": "CVE-2026-48800-90b056d4"
},
{
"target": {
"function": "Command::run",
"file": "PowerEditor/src/WinControls/StaticDialog/RunDlg/RunDlg.cpp"
},
"signature_type": "Function",
"deprecated": false,
"signature_version": "v1",
"source": "https://github.com/notepad-plus-plus/notepad-plus-plus/commit/6b3dc52a9245c6d8c6287a8d6d93a30981c05feb",
"digest": {
"function_hash": "287087769914373600640101795250622951829",
"length": 1723.0
},
"id": "CVE-2026-48800-b329e044"
}
]
"2026-08-12T16:25:30Z"
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-48800.json"