7.5

CVE-2024-29180: webpack webpack-dev-middleware Path Traversal

CVSS: 7.5v3.1HighAnalyzed
AliasesCGA-43qr-g3p6-vjf3CGA-472w-m6qw-jxjgCGA-4cv9-h2x5-6fhm
Published 21-03-2024Last modified 02-08-2024

Vulnerability summary

CVE-2024-29180 is a high (CVSS 7.5) Path Traversal vulnerability in webpack webpack-dev-middleware. EPSS estimates a 1.23% chance of exploitation in the next 30 days, higher than 68.4% of scored vulnerabilities. 1 public exploit is recorded.

Overall risk
40/100
0100
Medium · default modelHow is this calculated?
CVSS score
7.5/10
010
High · v3.1 (NVD)
EPSS score
1.23%
0%100%
Low · 0.00 pp in 30 days
KEVNot listedIn no KEV catalog
RansomwareNone recordedNo known use recorded
Public exploits1github

Advisory lineage

Upstream 0 · Downstream 0 · Related 2

Timeline

  1. 21-03-2024
    PublishedVulnerability first disclosed.
  2. 02-08-2024
    Last modifiedVulnerability information updated.

Description

Prior to versions 7.1.0, 6.1.2, and 5.3.4, the webpack-dev-middleware development middleware for devpack does not validate the supplied URL address sufficiently before returning the local file. It is possible to access any file on the developer's machine. The middleware can either work with the physical filesystem when reading the files or it can use a virtualized in-memory `memfs` filesystem. If `writeToDisk` configuration option is set to `true`, the physical filesystem is used. The `getFilenameFromUrl` method is used to parse URL and build the local file path. The public path prefix is stripped from the URL, and the `unsecaped` path suffix is appended to the `outputPath`. As the URL is not unescaped and normalized automatically before calling the midlleware, it is possible to use `%2e` and `%2f` sequences to perform path traversal attack. Developers using `webpack-dev-server` or `webpack-dev-middleware` are affected by the issue. When the project is started, an attacker might access any file on the developer's machine and exfiltrate the content. If the development server is listening on a public IP address (or `0.0.0.0`), an attacker on the local network can access the local files without any interaction from the victim (direct connection to the port). If the server allows access from third-party domains, an attacker can send a malicious link to the victim. When visited, the client side script can connect to the local server and exfiltrate the local files. Starting with fixed versions 7.1.0, 6.1.2, and 5.3.4, the URL is unescaped and normalized before any further processing.

CVSS metrics

5 scores · 5 sources · 1 version

EPSS trend

Probability

1.23%

Chance of exploitation in the next 30 days

Percentile

68%

Versus all other CVEs

30-day change

0.00 pp

From 1.23% on 20-09-2026

20-09-202620-10-2026
EPSS score
1.23%

Known exploited

Compare KEV catalogs

Not in any of the 3 tracked catalogs.

Public exploits

1 found
  • githubUnverified

    Webpack Dev Middleware

    Maturity: poc

Weaknesses

CWE · root cause

Affected systems

Chainguard12 products
  • arangodb-3.11< 3.11.14.5-r16
  • argo-workflows< 3.6.5-r2
  • katib-earlystopping< 0.19.0-r31
  • katib-suggestion-goptuna-compatAll versions (No fix recorded)
  • katib-suggestion-hyperband< 0.19.0-r31
Wolfi11 products
  • argo-workflows< 3.6.5-r2
  • katib-earlystopping< 0.19.0-r31
  • katib-suggestion-goptuna-compatAll versions (No fix recorded)
  • katib-suggestion-hyperband< 0.19.0-r31
  • katib-suggestion-hyperopt< 0.19.0-r31 | < 0.19.0-r40
Npm1 product
  • webpack-dev-middleware≥ 7.0.0, < 7.1.0 | ≥ 6.0.0, < 6.1.2 | < 5.3.4
Webpack1 product
Webpack.js1 product

5 vendors · 26 products

References

12 links
Show all 12 references