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: n/a
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 not available, leaving uncertainty about exploitation frequency. 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 20, 2026 at 17:26 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 20, 2026 at 17:26 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

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-20T14:48:06.676Z

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

Link: CVE-2026-112942

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

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

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

Link: CVE-2026-112942

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-20T17:30:13Z

Weaknesses
  • CWE-77

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