Vulnerability DatabaseGHSA-67mh-4wv8-2f99

GHSA-67mh-4wv8-2f99: 
JavaScript vulnerability analysis and mitigation

Overview

The vulnerability (GHSA-67mh-4wv8-2f99) affects esbuild versions <=0.24.2 and was discovered in February 2025. This security issue allows any website to send requests to esbuild's development server and read the response due to permissive CORS (Cross-Origin Resource Sharing) settings. The vulnerability was patched in version 0.25.0 (GitHub Advisory).

Technical details

The vulnerability stems from esbuild setting the 'Access-Control-Allow-Origin: *' header to all requests, including SSE (Server-Sent Events) connections. This configuration bypasses the same-origin policy, which normally prevents cross-origin requests. The vulnerability has been assigned a CVSS score of 5.3 (Moderate severity) with the following metrics: Network attack vector, High attack complexity, No privileges required, User interaction required, Unchanged scope, High confidentiality impact, and No impact on integrity or availability. The weakness is categorized as CWE-346 (GitHub Advisory).

Impact

The vulnerability enables malicious websites to access and steal source code from users utilizing esbuild's serve feature. Attackers can obtain both compiled content and, if source map option is enabled, non-compiled content. They can discover file locations through various methods including accessing index.html, assets directory, and the esbuild SSE endpoint (GitHub Advisory).

Exploitability

The attack can be executed by serving a malicious webpage that makes fetch requests to the local esbuild development server (typically at http://127.0.0.1:8000). The attacker can enumerate files by accessing index.html, the assets directory, and monitoring the SSE endpoint for file changes. The attack requires user interaction and has high complexity, but no special privileges are needed (GitHub Advisory).

Mitigation and workarounds

The vulnerability has been patched in esbuild version 0.25.0. The fix disables CORS and denies requests if the host doesn't match the one provided to '--serve='. The default host is '0.0.0.0'. For customization needs, users can implement a proxy in front of esbuild to modify incoming and outgoing requests. The serve() API now returns an array of 'hosts' instead of a single 'host' string (GitHub Advisory).

Additional resources


Source: This report was generated using AI

Related JavaScript vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-104150HIGH8.7
  • JavaScript logoJavaScript
  • @adonisjs/http-server
NoYesOct 15, 2026
CVE-2026-100409HIGH7.5
  • JavaScript logoJavaScript
  • @opennextjs/cloudflare
NoYesOct 15, 2026
CVE-2026-102527MEDIUM6.9
  • JavaScript logoJavaScript
  • nuxt-og-image
NoYesOct 15, 2026
CVE-2026-103975MEDIUM6.5
  • JavaScript logoJavaScript
  • @appium/support
NoYesOct 14, 2026
CVE-2026-76894LOW3.1
  • JavaScript logoJavaScript
  • @aborruso/ckan-mcp-server
NoYesOct 16, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management