CVE-2026-112943
launch-editor: escapeCmdArgs() omits % escaping on Windows
launch-editor allows users to open files with line numbers in editor from Node.js. Prior to 2.14.2, launch-editor did not escape % on Windows when passing an argument to cmd. When an environment variable contained a malicious value, it was possible that that content to be executed. This vulnerability is fixed in 2.14.2.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- Low
- Integrity
- Low
- Availability
- Low
Exploit likelihood
What each source reports
CVE List Score used
6.3
launch-editor: escapeCmdArgs() omits % escaping on Windows
launch-editor allows users to open files with line numbers in editor from Node.js. Prior to 2.14.2, launch-editor did not escape % on Windows when passing an argument to cmd. When an environment variable contained a malicious value, it was possible that that content to be executed. This vulnerability is fixed in 2.14.2.
- Record
CVE-2026-112943- CVSS 4.0
- 6.3 Medium
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N - Weakness
- CWE-78
- Updated
- 2026-11-02
EUVDEUVD-2026-105039
6.3
launch-editor allows users to open files with line numbers in editor from Node.js. Prior to 2.14.2, launch-editor did not escape % on Windows when passing an argument to cmd. When an environment variable contained a malicious value, it was possible that that content to be executed. This vulnerability is fixed in 2.14.2.
- Record
EUVD-2026-105039- CVSS 4.0
- 6.3 Medium
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-698v-4r3x-3vcv
6.3
launch-editor: escapeCmdArgs() omits % escaping on Windows
Summary
launch-editor did not escape % on Windows when passing an argument to cmd. When an environment variable contained a malicious value, it was possible that that content to be executed.
Impact
Only apps that match all of the following conditions are affected:
- The user uses Windows
- An attacker can place a file with the malicious filename containing
&or% - Either of
- An attacker can inject an environment variable with a malicious value
- An attacker can add a NTFS alternate data stream to the file placed
Details
Unlike .sh files, .bat / .cmd files on Windows cannot be called directly using child_process.spawn and requires passing them as an argument of cmd.exe. To do so, launch-editor escapes the arguments passed to cmd.exe. But launch-editor did not escape % which is used for environment variables.
Because launch-editor checks if the argument matches an existing filename, the attack requires the attacker to be able to place a file.
- If the attacker can inject an environment variable as well, they can include the subcommand in the env variable (e.g. set
&calc.exeto%ENV%) and calllaunchEditorwithsomething%ENV%. - If the attacker can place a NTFS alternate data stream to the file (e.g. a NTFS alternate data stream named
~-38%calc.exe), they can calllaunchEditorwithsomething %CMDCMDLINE:~-38%calc.exe. - If the attacker can create a filename containing the
%CD%and the subcommand (e.g.&calc.exe), they can calllaunchEditorwith./%CD%
- Record
GHSA-698v-4r3x-3vcv- CVSS 4.0
- 6.3 Medium
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N - Weakness
- CWE-78
- Updated
- 2026-11-02
NVD
6.3
launch-editor allows users to open files with line numbers in editor from Node.js. Prior to 2.14.2, launch-editor did not escape % on Windows when passing an argument to cmd. When an environment variable contained a malicious value, it was possible that that content to be executed. This vulnerability is fixed in 2.14.2.
- Record
CVE-2026-112943- CVSS 4.0
- 6.3 Medium
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X - Weakness
- CWE-78
- Updated
- 2026-11-02
OSV
6.3
launch-editor: escapeCmdArgs() omits % escaping on Windows
launch-editor allows users to open files with line numbers in editor from Node.js. Prior to 2.14.2, launch-editor did not escape % on Windows when passing an argument to cmd. When an environment variable contained a malicious value, it was possible that that content to be executed. This vulnerability is fixed in 2.14.2.
- Record
CVE-2026-112943- CVSS 4.0
- 6.3 Medium
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N - Weakness
- CWE-78
- Updated
- 2026-11-02
OSVGHSA-698v-4r3x-3vcv
6.3
launch-editor: escapeCmdArgs() omits % escaping on Windows
Summary
launch-editor did not escape % on Windows when passing an argument to cmd. When an environment variable contained a malicious value, it was possible that that content to be executed.
Impact
Only apps that match all of the following conditions are affected:
- The user uses Windows
- An attacker can place a file with the malicious filename containing
&or% - Either of
- An attacker can inject an environment variable with a malicious value
- An attacker can add a NTFS alternate data stream to the file placed
Details
Unlike .sh files, .bat / .cmd files on Windows cannot be called directly using child_process.spawn and requires passing them as an argument of cmd.exe. To do so, launch-editor escapes the arguments passed to cmd.exe. But launch-editor did not escape % which is used for environment variables.
Because launch-editor checks if the argument matches an existing filename, the attack requires the attacker to be able to place a file.
- If the attacker can inject an environment variable as well, they can include the subcommand in the env variable (e.g. set
&calc.exeto%ENV%) and calllaunchEditorwithsomething%ENV%. - If the attacker can place a NTFS alternate data stream to the file (e.g. a NTFS alternate data stream named
~-38%calc.exe), they can calllaunchEditorwithsomething %CMDCMDLINE:~-38%calc.exe. - If the attacker can create a filename containing the
%CD%and the subcommand (e.g.&calc.exe), they can calllaunchEditorwith./%CD%
- Record
GHSA-698v-4r3x-3vcv- CVSS 4.0
- 6.3 Medium
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N - Weakness
- CWE-78
- Updated
- 2026-11-02
Show 4 moreShow less
OSVCLSA-2026-1792574714 No score
TuxCare security update for launch-editor (3 CVEs)
TuxCare rebuilt launch-editor to address 3 CVEs. Fixed in 2.6.1-tuxcare.2.
- Record
CLSA-2026-1792574714- Updated
- 2026-11-02
OSVCLSA-2026-1792582427 No score
TuxCare security update for launch-editor (3 CVEs)
TuxCare rebuilt launch-editor to address 3 CVEs. Fixed in 2.2.1-tuxcare.2.
- Record
CLSA-2026-1792582427- Updated
- 2026-11-02
OSVCLSA-2026-1793115223 No score
TuxCare security update for vite (4 CVEs)
TuxCare rebuilt vite to address 4 CVEs. Fixed in 4.1.5-tuxcare.4.
- Record
CLSA-2026-1793115223- Updated
- 2026-11-02
OSVCLSA-2026-1793887392 No score
TuxCare security update for vite (2 CVEs)
TuxCare rebuilt vite to address 2 CVEs. Fixed in 3.2.11-tuxcare.9.
- Record
CLSA-2026-1793887392- Updated
- 2026-11-06
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
launch-editornpm |
through 2.14.1 | 2.14.2 |
vitenpm |
8.3.0 to 8.3.2 | 8.3.3 |
vitenpm |
8.2.0 to 8.2.3 | 8.2.4 |
vitenpm |
8.0.0 to 8.1.5 | 8.1.6 |
vitenpm |
7.0.0 to 7.3.6 | 7.3.7 |
vitenpm |
through 6.4.3 | 6.4.4 |
vite-plusnpm |
through 1.0.0 | 1.1.0 |
launch-editorTuxCare:npm From an advisory covering 3 CVEs |
2.6.1-tuxcare.0 up to 2.6.1-tuxcare.2, plus listed versions 2.6.12.6.1-tuxcare.1 |
2.6.1-tuxcare.2 |
launch-editorTuxCare:npm From an advisory covering 3 CVEs |
2.2.1-tuxcare.0 up to 2.2.1-tuxcare.2, plus listed versions 2.2.12.2.1-tuxcare.1 |
2.2.1-tuxcare.2 |
viteTuxCare:npm From an advisory covering 4 CVEs |
4.1.5-tuxcare.0 up to 4.1.5-tuxcare.4, plus listed versions 4.1.54.1.5-tuxcare.14.1.5-tuxcare.24.1.5-tuxcare.3 |
4.1.5-tuxcare.4 |
Show 8 moreShow less
| Package | Affected | Fixed |
|---|---|---|
viteTuxCare:npm From an advisory covering 2 CVEs |
3.2.11-tuxcare.0 up to 3.2.11-tuxcare.9, plus listed versions 3.2.113.2.11-tuxcare.13.2.11-tuxcare.23.2.11-tuxcare.33.2.11-tuxcare.4 Show 4 moreShow less3.2.11-tuxcare.53.2.11-tuxcare.63.2.11-tuxcare.73.2.11-tuxcare.8 |
3.2.11-tuxcare.9 |
launch-editornpm |
before 2.14.2 | 2.14.2 |
vitenpm |
8.3.0 up to 8.3.3 | 8.3.3 |
vitenpm |
8.2.0 up to 8.2.4 | 8.2.4 |
vitenpm |
8.0.0 up to 8.1.6 | 8.1.6 |
vitenpm |
7.0.0 up to 7.3.7 | 7.3.7 |
vitenpm |
before 6.4.4 | 6.4.4 |
vite-plusnpm |
before 1.1.0 | 1.1.0 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, aliases | OSV | |
| affected, facts | ||
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-112943 is a medium vulnerability (CVSS 6.3) in Vitejs Launch-editor, published October 20, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.41%, the 35th percentile. Fixed in launch-editor 2.14.2.
References
github.com/vitejs/launch-editor/security/advisories/GHSA-698v-4r3x-3vcv
github.com/vitejs/launch-editor/pull/155
github.com/vitejs/launch-editor/commit/3c2f9bf2ff8fe63d056a8f9cc52d825b66ca79fc
github.com/vitejs/launch-editor/releases/tag/v2.14.2
nvd.nist.gov/vuln/detail/CVE-2026-112943
github.com/advisories/GHSA-698v-4r3x-3vcv
github.com/CVEProject/cvelistV5/tree/main/cves/2026/112xxx/CVE-2026-112943.json
github.com/vitejs/launch-editor