CVE-2018-14732: webpack-dev-server missing origin validation in WebSocket

CVE-2018-14732 · Severity: low · CVSS 3 · Published 2019-01-04

webpack-dev-server is a development server used by JavaScript developers to test and debug applications locally. The Hot Module Replacement (HMR) feature uses a WebSocket connection to enable live code updates without manual reloading. Due to missing origin validation, an attacker on the network can exploit this to steal a developer's source code by intercepting and reading messages intended only for legitimate development sessions.

Technologies: webpack-dev-server (npm). Vendors: npm.

Quick answers

Is CVE-2018-14732 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2018-14732 being exploited in the wild.
How severe is CVE-2018-14732?
Low severity, with a CVSS score of 3, published 4 January 2019.
Which products and versions are affected?
webpack-dev-server (npm) SEMVER:introduced=0,fixed=3.1.11.
Is there a fix for CVE-2018-14732?
Yes. webpack-dev-server (npm): upgrade to 3.1.11 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2018-14732 attacked?
It is attacked over the network, in a software library.
Am I affected by CVE-2018-14732?
Check whether you run webpack-dev-server (npm) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

How to fix

  • webpack-dev-server (npm): upgrade to 3.1.11 or later
    npm install webpack-dev-server@3.1.11

Technical details

The vulnerability is an improper input validation issue (CWE-20) in the WebSocket server used for Hot Module Replacement in webpack-dev-server versions prior to 3.1.11. The WebSocket server fails to validate the Origin header of incoming requests, allowing any remote attacker to establish a connection and receive source code being served to legitimate developers. This is a network-level attack requiring no authentication or user interaction—an attacker can simply craft a malicious web page that connects to a developer's local webpack-dev-server and extracts source code. The fix was released in version 3.1.11, which adds proper origin validation.

Affected products

  • webpack webpack-dev-server before 3.1.11

Identifiers

  • CVE-2018-14732
  • GHSA-cf66-xwfp-gvc4

Timeline

  • 2018-07-24: disclosed: Vulnerability reported to webpack-dev-server project
  • 2018-12-21: patched: Fixed in version 3.1.11
  • 2019-01-04: advisory: GHSA-cf66-xwfp-gvc4 published

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.