Cloudanix VulnDB

CVE-2024-52011

High · 8.3

CVSS

8.3

EPSS

0.5%

Published

Jun 1, 2026

CISA due date

—

Cloudanix analysis

Next patch cycle SSVC: Track

A flaw in a developer tool can let a malicious filename run commands on Windows computers if a developer triggers the affected editor-opening feature.

Exploitation
Requires User Interaction
Attacker needs
None
Complexity
Moderate
Impact
Remote Code Execution
Component
Library
Class
Command Injection
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

CVE-2024-52011 is a Windows-specific command injection issue in the Node.js launch-editor package before version 2.9.0, including usage through affected Vite integrations prior to the corresponding Vite 5.4.9 release. The vulnerable code insufficiently sanitizes the file argument passed to launchEditor when opening a file and line number in a local editor. If an attacker can cause a crafted filename containing Windows command-shell metacharacters to be passed to this function, the resulting editor launch command can execute attacker-supplied commands with the privileges of the user running the Node.js development server or tooling process. The CVSS vector indicates network reachability, low attack complexity, no privileges required, and active user interaction required, with high impact to confidentiality, integrity, and availability of the vulnerable system.

Why it matters to the business

Successful exploitation can turn a seemingly harmless “open this file in editor” workflow into arbitrary command execution on a Windows developer workstation or build-related host. In practical terms, this may allow theft of source code, credentials, tokens, SSH keys, cloud credentials, or package-publishing secrets; tampering with local projects; installation of persistence; or lateral movement from a developer machine into corporate systems. The issue is not listed in CISA KEV, has no known ransomware association, and has a low EPSS score of 0.00514, suggesting broad opportunistic exploitation is not currently expected, but organizations with Windows-based JavaScript development environments should still prioritize remediation because developer endpoints often hold high-value credentials and repository access.

How an attack unfolds

An attacker first needs a path to influence the filename or file argument that is ultimately passed into launchEditor. In common development-tooling scenarios, this may involve a crafted URL, project file, dependency behavior, error overlay link, or other input that causes a developer-facing tool to attempt to open a file in an editor. The attacker embeds Windows command metacharacters in the supplied filename so that, when the vulnerable launch-editor version constructs the editor command, part of the filename is interpreted as an additional command rather than inert data. Because the CVSS vector includes user interaction, exploitation typically requires a developer or user to trigger the open-in-editor action or visit/use a crafted development-server workflow. If successful, the injected command runs under the context of the local user running the Node.js process, enabling payload execution such as credential collection, downloader execution, source modification, or command-and-control staging.

How to fix it

Upgrade launch-editor to version 2.9.0 or later wherever it is used directly. For Vite-based projects, upgrade to Vite 5.4.9 or later, or to a newer supported Vite major release that includes the fixed launch-editor dependency. Because this issue may be inherited transitively, audit lockfiles and dependency trees for vulnerable launch-editor versions and refresh package locks after upgrading. Where immediate upgrade is not possible, reduce exposure by disabling or restricting open-in-editor functionality, avoiding use of vulnerable development servers on untrusted networks, and preventing attacker-controlled filenames or paths from reaching editor-launch features. On Windows endpoints, apply endpoint controls that block suspicious child processes spawned from Node.js tooling, such as cmd.exe or powershell.exe launched unexpectedly by node.exe.

How to confirm the fix worked

Confirm the installed dependency tree no longer contains launch-editor versions earlier than 2.9.0. Use package-manager inspection commands such as npm ls launch-editor, pnpm why launch-editor, yarn why launch-editor, or equivalent software composition analysis tooling. For Vite projects, confirm the installed Vite version is 5.4.9 or later, or a later fixed release line. Validate lockfiles, container images, developer workstation baselines, and CI images where Node.js tooling is installed. On Windows, test that crafted filenames containing command separators are rejected, escaped, or treated only as filenames and do not result in child command-shell execution. Also confirm endpoint telemetry does not show unexpected command interpreters or script engines spawned from node.exe during editor-launch actions.

Typical attack path

  1. Identify a target using a vulnerable Windows-based Node.js development workflow that includes launch-editor before 2.9.0 or an affected Vite version before 5.4.9.
  2. Deliver or induce processing of a crafted filename or file argument containing Windows command-shell metacharacters.
  3. Cause the target user to trigger the editor-opening behavior, such as clicking an open-in-editor link or invoking a development-tooling action.
  4. The vulnerable launch-editor code constructs an unsafe command using the attacker-controlled file argument.
  5. Windows interprets part of the crafted filename as a command, executing attacker-controlled code with the privileges of the Node.js process user.
  6. The attacker uses the execution context to access local project files, secrets, credentials, or to install follow-on tooling and move laterally.

How to detect it

Review endpoint and process-creation telemetry from Windows systems running Node.js development tooling. Focus on process trees where node.exe, npm.cmd, pnpm.exe, yarn.exe, vite, or related development-server processes spawn command interpreters or living-off-the-land binaries unexpectedly. Useful Windows log sources include Sysmon Event ID 1 process creation, Sysmon Event ID 11 file creation, Sysmon Event ID 3 network connections, Windows Security Event ID 4688 process creation, PowerShell operational logs, EDR process telemetry, browser/development-server access logs, package-manager logs, and shell history where available. Look for command lines containing suspicious filenames with shell metacharacters such as &, &&, |, ||, >, <, ^, %, or quoted paths followed by additional commands. Investigate any instance where editor-launch workflows are followed by outbound network connections, credential file access, archive creation, script execution, or installation of persistence. Because there are no public exploit artifacts or named threat actors reported for this CVE in the provided data, detection should be behavior-based rather than hash- or campaign-based.

  • node.exe spawning cmd.exe
  • node.exe spawning powershell.exe
  • node.exe spawning pwsh.exe
  • node.exe spawning wscript.exe
  • node.exe spawning cscript.exe
  • node.exe spawning mshta.exe
  • node.exe spawning rundll32.exe
  • node.exe spawning regsvr32.exe
  • node.exe spawning certutil.exe
  • node.exe spawning bitsadmin.exe
  • node.exe spawning curl.exe
  • node.exe spawning wget.exe
  • node.exe spawning schtasks.exe
  • node.exe spawning reg.exe
  • npm.cmd spawning cmd.exe
  • pnpm.exe spawning cmd.exe
  • yarn.exe spawning cmd.exe
  • vite spawning cmd.exe
  • launch-editor
  • launchEditor
  • cmd.exe /c
  • powershell.exe -enc
  • powershell.exe -EncodedCommand
  • powershell -nop
  • powershell -NoProfile
  • powershell -ExecutionPolicy Bypass
  • &&
  • ||
  • & powershell
  • | powershell
  • & cmd
  • | cmd

What your security team should do

  • Prioritize upgrades for Windows developer workstations and development environments that run Vite or packages depending on launch-editor.
  • Update direct launch-editor dependencies to 2.9.0 or later and Vite dependencies to 5.4.9 or later, then regenerate and review lockfiles.
  • Run software composition analysis across repositories and developer tooling images to identify transitive use of vulnerable launch-editor versions.
  • Create EDR/SIEM detections for suspicious child processes spawned by node.exe, especially cmd.exe, powershell.exe, wscript.exe, cscript.exe, mshta.exe, rundll32.exe, certutil.exe, curl.exe, or bitsadmin.exe during development-server activity.
  • Restrict exposure of local development servers to trusted interfaces and networks only; avoid binding dev servers to public or shared networks unless required and protected.
  • Educate developers not to click untrusted open-in-editor links or run untrusted projects without isolation, especially on Windows.
  • If suspicious activity is found, rotate developer credentials, repository tokens, package-publishing tokens, SSH keys, and cloud credentials that may have been accessible from the affected workstation.

The record

launch-editor allows users to open files with line numbers in editor from Node.js. Prior to version 2.9.0, due to the insufficient sanitization of the `file` argument in the `launchEditor`, an attacker can execute arbitrary commands on Windows by supplying a filename that contains special characters. This issue has been fixed in the `launch-editor` version 2.9.0, corresponding to vite version 5.4.9.

Affected packages

Ecosystem Package Introduced Fixed
npm launch-editor 0 2.9.0
npm vite 0 5.4.9

Related vulnerabilities