Skip to main content

CVE-2026-112944: CWE-88: Improper Neutralization of Argument Delimiters in a Command ('Argument Injection') in vitejs launch-editor

0
Medium
Published: 10/20/2026 (10/20/2026, 19:51:52 UTC)
Source: CVE Database V5
Vendor/Project: vitejs
Product: launch-editor

Description

### Summary `launch-editor` forwarded file paths directly to editors without sanitization. If a path resembles a CLI flag, editors like Vim may interpret it as a command, potentially causing unintended file overwrites or command execution. ### Impact #### Direct `launch-editor` users Only apps that match all of the following conditions are affected: - The attacker is able to create a file system entry (e.g. a file or directory) starting with `+` or `-` in the working directory - The user uses or the app specifies any of the following editors: - Vim (including gVim) - MacVim - Emacs (including Emacsclient) - Notepad++ (only if using a plugin exposing dangerous operations via plugin messages) - The first argument of `launchEditor` can start with `+` or `-` or the user is using WSL #### `launch-editor-middleware` users Only apps that match the following conditions are affected: - The attacker is able to create a file system entry (e.g. a file or directory) starting with `+` or `-` in the working directory - The user uses or the app specifies any of the following editors: - Vim (including gVim) - MacVim - Emacs (including Emacsclient) - Notepad++ (only if using a plugin exposing dangerous operations via plugin messages) - launch-editor older than v2.2.0 is used, or the user is using WSL #### Vite users Only apps that match the following conditions are affected: - The attacker is able to create a file system entry (e.g. a file or directory) starting with `+` or `-` in the working directory - The user uses or the app specifies any of the following editors: - Vim (including gVim) - MacVim - Emacs (including Emacsclient) - Notepad++ (only if using a plugin exposing dangerous operations via plugin messages) - The user is using WSL ### Details `launchEditor(file)` function passes the file name as-is to the editor if the file with that file name exists. If the file name starts with `-` (also `+` for Vim), the editor treats them as flags rather than positional arguments. For example, Vim treats arguments starting with `+` as an Ex command. As a result, an existing relative directory such as: ``` +call writefile(["SAFE_MARKER"],"LAUNCH_EDITOR_MARKER")|qa! ``` is not treated as a filename when passed to Vim. Vim executes the embedded Ex command. The following editor has a potentially destructive operation exposed to the CLI arguments: - Vim (including gVim) - MacVim - Emacs (including Emacsclient) - Notepad++ (only if using a plugin exposing dangerous operations via plugin messages) `launch-editor-middleware` v2.2.0+ converts the passed file path to an absolute path so those are not affected as long as the user is not using WSL. For WSL, `launch-editor` converts the paths to relative paths internally, so those are still affected. Vite 2.0.0+ uses `launch-editor-middleware` v2.2.0+ so the WSL users are only affected.

CVSS v4.0

Score 6.3medium

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
Present
Privileges Required
None
User Interaction
None
Vuln. Confidentiality
Low
Vuln. Integrity
Low
Vuln. Availability
Low
Subsq. Confidentiality
None
Subsq. Integrity
None
Subsq. Availability
None
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

Affected software

vitejs

launch-editor

Affected versions
<2.14.2

vitejs

vite

Affected versions
>=8.3.0 <8.3.3>=8.2.0 <8.2.4>=8.0.0 <8.1.6>=7.0.0 <7.3.7<6.4.4

vitejs

vite-plus

Affected versions
<1.1.0
launch-editor
pkg:npm/launch-editor
Affected versions
<2.14.2>=8.3.0 <8.3.3>=8.2.0 <8.2.4>=8.0.0 <8.1.6>=7.0.0 <7.3.7<6.4.4<1.1.0

Run on your own infrastructure? Check whether these packages are installed with threat-finder — our free open-source scanner.

AI-Powered Analysis

Machine-generated threat intelligence

AILast updated: 10/20/2026, 15:33:24 UTC

Technical Analysis

The launch-editor component of vitejs allows users to open files with line numbers in editors from Node.js. Versions prior to 2.14.2 are vulnerable when an attacker can create a filesystem entry beginning with '+' or '-' in the working directory. Because launch-editor forwards the path without forcing it to be interpreted strictly as a positional filename, the editor's option parsing treats the attacker-controlled filename as a command-line flag. This can lead to unintended file overwrites or arbitrary command execution in affected editors such as Vim, gVim, MacVim, Emacs, Emacsclient, and Notepad++ (with certain plugins). The vulnerability is mitigated by forcing proper interpretation of the filename in version 2.14.2.

Potential Impact

An attacker able to create specially crafted filesystem entries can exploit this vulnerability to cause unintended file overwrites or execute arbitrary commands within the context of the selected editor. This could lead to code execution or data corruption on the affected system. The vulnerability affects multiple popular editors when invoked via launch-editor, increasing the risk surface.

Mitigation Recommendations

This vulnerability is fixed in vitejs launch-editor version 2.14.2. Users should upgrade to version 2.14.2 or later to remediate this issue. No additional mitigation steps are indicated by the vendor advisory.

Pro Console: star threats, build custom feeds, automate alerts via Slack, email & webhooks.Upgrade to Pro

Technical Details

Data Version
5.2
Assigner Short Name
GitHub_M
Date Reserved
2026-10-19T21:30:47.245Z
Cvss Version
4.0
State
PUBLISHED

Threat ID: 6ad786742cdf04f6563a72d3

Added to database: 10/20/2026, 15:19:16 UTC

Last enriched: 10/20/2026, 15:33:24 UTC

Last updated: 10/20/2026, 22:33:44 UTC

Views: 13

Community Reviews

0 reviews

Crowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.

Sort by
Loading community insights…

Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.

Actions

PRO

Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.

Please log in to the Console to use AI analysis features.

Need more coverage?

Upgrade to Pro Console for AI refresh and higher limits.

For incident response and remediation, OffSeq services can help resolve threats faster.

Latest Threats

Breach by OffSeqOFFSEQFRIENDS — 25% OFF

Check if your credentials are on the dark web

Instant breach scanning across billions of leaked records. Free tier available.

Scan now
OffSeq TrainingCredly Certified

Lead Pen Test Professional

Technical5-day eLearningPECB Accredited
View courses