CVE-2026-6402: webpack-dev-server vulnerable to cross-origin source code exposure on non-HTTPS origins

Published May 12, 2026
·
Updated

Impact

When webpack-dev-server is running on a non-HTTPS origin (the default), cross-origin requests from malicious websites can load the dev server's JavaScript bundles via <script> tags. The fix introduced in v5.2.1 (CVE-2025-30359) relied on Sec-Fetch-Mode and Sec-Fetch-Site request headers to block these requests, but browsers only send these headers for potentially trustworthy origins. Over plain HTTP, the headers are absent and the check is bypassed.

An attacker who knows the dev server's host, port, and output path can exfiltrate all module source code by intercepting the webpack runtime's module registration.

This does not affect Chrome 142+ (and other Chromium-based browsers) due to local network access restrictions.

Patches

Patched in webpack-dev-server >= 5.2.4 by setting Cross-Origin-Resource-Policy: same-origin on responses.

Workarounds

Run the dev server with HTTPS enabled (--https or server.type: 'https' in config).

Resources

- GHSA-4v9v-hfq4-rm2v (CVE-2025-30359) - original vulnerability - GHSA-9jgg-88mc-972h (CVE-2025-30360) - prior bypass

Other sources

webpack-dev-server versions up to and including 5.2.3 are vulnerable to cross-origin source code exposure when serving over a non-potentially trustworthy origin such as plain HTTP. The previous fix relied on the Sec-Fetch-Mode and Sec-Fetch-Site request headers, which browsers omit for non-trustworthy origins, allowing a malicious site to load the bundled source as a script and read it across origins. Impact: an attacker controlling a website visited by a developer running webpack-dev-server can recover the application source code when the dev server runs over HTTP at a guessable host and port. Chromium based browsers from Chrome 142 onward are not affected due to local network access restrictions. Upgrade to webpack-dev-server 5.2.4 or later, which sets Cross-Origin-Resource-Policy: same-origin on responses.

— MITRE

Affected Software

3 affected componentsFixes available
npm/webpack-dev-server<=5.2.3
npm/webpack-dev-server<=5.2.3
5.2.4
webpack.js webpack-dev-server<5.2.4

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade npm/webpack-dev-server to a version that resolves this vulnerability.

    Fixed in 5.2.4
  2. Upgrade

    Upgrade webpack-dev-server to a version that resolves this vulnerability.

    Fixed in 5.2.4Patch GHSA-4v9v-hfq4-rm2v
  3. Configuration

    Ensure webpack-dev-server responses include header `Cross-Origin-Resource-Policy: same-origin` (patched in webpack-dev-server >= 5.2.4).

    webpack-dev-server Cross-Origin-Resource-Policy = same-origin
  4. Configuration

    Run webpack-dev-server with HTTPS enabled: use `--https` or set `server.type: 'https'` in config, to reduce cross-origin exposure on non-HTTPS origins.

    webpack-dev-server server.type = https

Event History

May 12, 2026
CVE Published
via MITRE·07:45 AM
Data Sourced
via MITRE·07:45 AM
DescriptionSeverityWeakness
Data Sourced
via NVD·09:16 AM
DescriptionSeverityWeaknessAffected Software
May 18, 2026
Advisory Published
via GitHub·01:31 PM
Data Sourced
via GitHub·01:31 PM
DescriptionSeverityWeaknessAffected Software

Frequently Asked Questions

1

What is the severity of CVE-2026-6402?

The severity of CVE-2026-6402 is medium with a score of 6.5.

2

What is the impact of CVE-2026-6402?

The impact of CVE-2026-6402 allows cross-origin source code exposure when webpack-dev-server runs on a non-HTTPS origin.

3

How do I mitigate CVE-2026-6402?

To mitigate CVE-2026-6402, ensure that webpack-dev-server is running on an HTTPS origin.

4

Which versions of webpack-dev-server are affected by CVE-2026-6402?

CVE-2026-6402 affects versions of webpack-dev-server prior to v5.2.1.

5

What patch addresses CVE-2026-6402?

The patch for CVE-2026-6402 is included in the update introduced in version 5.2.1.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203