Description
launch-editor allows users to open files with line numbers in editor from Node.js. Prior to 2.14.2, launch-editor-middleware processes an attacker-controlled Windows file argument where the file argument ends in a parent-directory component plus a line-and-column suffix: the path is resolved while the suffix is still present, and launch-editor removes the suffix before its existsSync check, leaving the existing parent directory for existsSync and allowing the attacker-controlled file argument to pass filename existence validation without requiring the malicious filename to exist. The bypass can lead to OS command injection when combined with the separately described Windows percent-expansion flaw. This issue is fixed in version 2.14.2.
Published: 2026-10-20
Score: 7.5 High
EPSS: 1.7% Low
KEV: No
Impact: OS Command Injection (Remote Code Execution)
Action: Immediate Patch
AI Analysis

Impact

The vulnerability exists in launch-editor, a helper in Vite that lets Node.js applications request a text editor to open a file with a line number. In versions before 2.14.2, the middleware accepts a file argument that ends with a parent-directory component and a line-and-column suffix. When resolving the path the suffix remains, and launch-editor removes it only after an existsSync check, allowing the check to succeed on the parent directory even though the requested file does not exist. The attacker can craft the argument to bypass the existence validation and trigger the percent-expansion flaw described elsewhere, leading to OS command injection, which could give an attacker arbitrary command execution on the host system.

Affected Systems

The flaw affects applications that depend on vitejs launch-editor, vitejs vite, and vitejs vite-plus, all versions prior to 2.14.2. No specific patch versions were listed beyond that, so all earlier releases remain vulnerable.

Risk and Exploitability

The CVSS score of 7.5 indicates a high‑severity risk, while the EPSS score is 1%, indicating a very low but nonzero exploitation probability. Because the flaw permits command execution only when combined with the percent‑expansion vulnerability, an attacker must have a vulnerable Windows environment that supports that defect. The vulnerability is not listed in CISA KEV, suggesting no confirmed public exploitation yet, yet the high severity warrants immediate mitigation.

Generated by OpenCVE AI on October 22, 2026 at 19:59 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade launch-editor to version 2.14.2 or later, including any dependent Vite components
  • Validate all file paths passed to launch-editor to reject untrusted relative paths or suffixes that circumvent existence checks
  • Apply the patch for the separate Windows percent-expansion flaw or otherwise ensure the host environment is not susceptible to that defect

Generated by OpenCVE AI on October 22, 2026 at 19:59 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-587h-7wmj-h5pm launch-editor: `fs.existsSync()` existence check can be bypassed on Windows
History

Wed, 21 Oct 2026 17:15:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'total'}, 'version': '2.0.3'}


Wed, 21 Oct 2026 00:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-78
References
Metrics threat_severity

None

cvssV3_1

{'score': 8.8, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H'}

threat_severity

Important


Tue, 20 Oct 2026 17:15:00 +0000

Type Values Removed Values Added
First Time appeared Vitejs
Vitejs launch-editor
Vitejs vite
Vitejs vite-plus
Vendors & Products Vitejs
Vitejs launch-editor
Vitejs vite
Vitejs vite-plus

Tue, 20 Oct 2026 15:00:00 +0000

Type Values Removed Values Added
Description launch-editor allows users to open files with line numbers in editor from Node.js. Prior to 2.14.2, launch-editor-middleware processes an attacker-controlled Windows file argument where the file argument ends in a parent-directory component plus a line-and-column suffix: the path is resolved while the suffix is still present, and launch-editor removes the suffix before its existsSync check, leaving the existing parent directory for existsSync and allowing the attacker-controlled file argument to pass filename existence validation without requiring the malicious filename to exist. The bypass can lead to OS command injection when combined with the separately described Windows percent-expansion flaw. This issue is fixed in version 2.14.2.
Title launch-editor: `fs.existsSync()` existence check can be bypassed on Windows
Weaknesses CWE-77
References
Metrics cvssV4_0

{'score': 7.5, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N'}


Subscriptions

Vitejs Launch-editor Vite Vite-plus
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-10-21T15:55:05.963Z

Reserved: 2026-10-19T21:30:47.245Z

Link: CVE-2026-112942

cve-icon Vulnrichment

Updated: 2026-10-21T14:39:46.089Z

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-10-20T15:17:17.230

Modified: 2026-10-21T16:17:15.207

Link: CVE-2026-112942

cve-icon Redhat

Severity : Important

Publid Date: 2026-10-20T14:48:06Z

Links: CVE-2026-112942 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-10-22T20:00:12Z

Weaknesses
  • CWE-77

    Improper Neutralization of Special Elements used in a Command ('Command Injection')

  • CWE-78

    Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection')