webpack-dev-middleware Path Traversal vulnerability
Collected exploitation and prediction evidence
Risk source coverageCISA KEV is observed exploitation evidence. FIRST EPSS is a dated prediction of exploitation in the next 30 days. Missing scores are unknown. This collector requests predictions only for explicit CVE aliases in the public NuGet archive; Microsoft release views retain their existing prediction scope.
No collected risk observation for these identifiers. This does not establish absence of exploitation or a zero probability.
cve-program · CVE-2024-29180
PublishedPrior 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.
- Source published
- 21 Mar 2024 16:47:53 UTC
- Source modified
- 2 Aug 2024 14:58:57 UTC
- Observed here
- 23 Oct 2026 15:48:27 UTC
- Source terms
- CVE Program Terms of Use
Original source record · Cite this exact observation · Complete original publisher JSON
This view projects the publisher's source fields for reading; the original JSON retains additional fields and CVE enrichment containers. Attribution: cve-program · CVE Program Terms of Use. Source text is retained; field grouping and change labels are provided by ChangeIntel.
CVSS 3.1 · 7.4 CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:N/A:N
euvd · EUVD-2024-1028
PublishedPrior 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.
EUVD source date text has no stated timezone and is retained without inventing a UTC instant. Related bulletin membership is not an alias, common cause or applicability claim. A missing vector with a zero score is treated as unrated. Complete vendor/product and underlying source evidence remains in the original JSON.
Original publisher date fields
datePublished: Mar 21, 2024, 4:47:53 PM
dateUpdated: Aug 2, 2024, 2:58:57 PM
22 related source bulletins · separate from aliases
WID-SEC-W-2024-1474: Red Hat OpenShift Container Platform: Mehrere Schwachstellen
CVE-2019-25210 · CVE-2023-29483 · CVE-2023-45142 · CVE-2023-45289 · CVE-2023-45290 · CVE-2023-47108 · CVE-2023-48795 · CVE-2023-52425 · CVE-2024-0874 · CVE-2024-1394 · CVE-2024-22189 · CVE-2024-2398 · CVE-2024-24783 · CVE-2024-24784 · CVE-2024-24785 · CVE-2024-24786 · CVE-2024-28110 · CVE-2024-28176 · CVE-2024-28180 · CVE-2024-28757 · CVE-2024-28849 · CVE-2024-29180 · CVE-2024-3177 · CVE-2024-3727
RHSA-2024:2816: Red Hat Security Advisory: Errata Advisory for Red Hat OpenShift GitOps v1.12.2 security update
CVE-2024-29180 · CVE-2024-31990
RHSA-2024:3920: Red Hat Security Advisory: Migration Toolkit for Runtimes security, bug fix and enhancement update
CVE-2023-45857 · CVE-2024-28849 · CVE-2024-29131 · CVE-2024-29133 · CVE-2024-29180
RHSA-2024:2815: Red Hat Security Advisory: Errata Advisory for Red Hat OpenShift GitOps v1.11.4 security update
CVE-2024-29180
RHSA-2024:4460: Red Hat Security Advisory: Red Hat Data Grid 8.5.0 security update
CVE-2024-29025 · CVE-2024-29180
RHSA-2024:3868: Red Hat Security Advisory: Network Observability 1.6.0 for OpenShift
CVE-2023-39326 · CVE-2023-42282 · CVE-2023-45289 · CVE-2023-45290 · CVE-2024-24783 · CVE-2024-24785 · CVE-2024-24786 · CVE-2024-28849 · CVE-2024-29041 · CVE-2024-29180
RHSA-2024:3989: Red Hat Security Advisory: Migration Toolkit for Applications security and bug fix update
CVE-2023-26159 · CVE-2023-26364 · CVE-2023-36479 · CVE-2023-45857 · CVE-2023-48631 · CVE-2024-1023 · CVE-2024-1132 · CVE-2024-1300 · CVE-2024-25710 · CVE-2024-26308 · CVE-2024-28849 · CVE-2024-29131 · CVE-2024-29133 · CVE-2024-29180
RHSA-2024:2941: Red Hat Security Advisory: RHACS 4.4 enhancement and security update
CVE-2023-45288 · CVE-2023-45289 · CVE-2023-45290 · CVE-2024-24783 · CVE-2024-24784 · CVE-2024-29180
WID-SEC-W-2024-1091: Red Hat OpenShift: Mehrere Schwachstellen
CVE-2024-29180 · CVE-2024-31990
RHSA-2024:4873: Red Hat Security Advisory: Apicurio Registry (container images) release and security update [ 2.6.1 GA ]
CVE-2023-51775 · CVE-2024-2700 · CVE-2024-22201 · CVE-2024-29041 · CVE-2024-29180
RHSA-2025:8551: Red Hat Security Advisory: Red Hat OpenShift Data Foundation 4.14.18 Bug Fix Update
CVE-2024-11831 · CVE-2024-21536 · CVE-2024-21538 · CVE-2024-29041 · CVE-2024-29180 · CVE-2024-37890 · CVE-2024-39249 · CVE-2024-45338 · CVE-2024-45590 · CVE-2024-48910
RHSA-2024:0041: Red Hat Security Advisory: OpenShift Container Platform 4.16.0 bug fix and security update
CVE-2019-25210 · CVE-2023-45142 · CVE-2023-45289 · CVE-2023-47108 · CVE-2023-48795 · CVE-2023-49569 · CVE-2024-0874 · CVE-2024-22189 · CVE-2024-24783 · CVE-2024-24784 · CVE-2024-24785 · CVE-2024-24786 · CVE-2024-28110 · CVE-2024-28176 · CVE-2024-28180 · CVE-2024-28849 · CVE-2024-29180
RHSA-2024:3316: Red Hat Security Advisory: Migration Toolkit for Applications security and bug fix update
CVE-2023-26159 · CVE-2023-26364 · CVE-2023-39326 · CVE-2023-45286 · CVE-2023-45287 · CVE-2023-45288 · CVE-2023-45857 · CVE-2023-48631 · CVE-2024-24786 · CVE-2024-28849 · CVE-2024-29180
WID-SEC-W-2024-1226: Red Hat OpenShift: Mehrere Schwachstellen
CVE-2020-26555 · CVE-2021-25220 · CVE-2021-29390 · CVE-2021-43618 · CVE-2022-0480 · CVE-2022-2795 · CVE-2022-3094 · CVE-2022-38096 · CVE-2022-40090 · CVE-2022-45934 · CVE-2022-48554 · CVE-2022-48624 · CVE-2023-24023 · CVE-2023-25193 · CVE-2023-25775 · CVE-2023-26159 · CVE-2023-26364 · CVE-2023-28322 · CVE-2023-28464 · CVE-2023-28866 · CVE-2023-2975 · CVE-2023-31083 · CVE-2023-31122 · CVE-2023-3446 · CVE-2023-3567 · CVE-2023-3618 · CVE-2023-37453 · CVE-2023-3817 · CVE-2023-38469 · CVE-2023-38470 · CVE-2023-38471 · CVE-2023-38472 · CVE-2023-38473 · CVE-2023-38546 · CVE-2023-39189 · CVE-2023-39193 · CVE-2023-39194 · CVE-2023-39198 · CVE-2023-39326 · CVE-2023-40745 · CVE-2023-41175 · CVE-2023-4133 · CVE-2023-42754 · CVE-2023-42756 · CVE-2023-43785 · CVE-2023-43786 · CVE-2023-43787 · CVE-2023-43788 · CVE-2023-43789 · CVE-2023-4408 · CVE-2023-45286 · CVE-2023-45287 · CVE-2023-45288 · CVE-2023-45289 · CVE-2023-45290 · CVE-2023-45857 · CVE-2023-45863 · CVE-2023-46218 · CVE-2023-46862 · CVE-2023-47038 · CVE-2023-48631 · CVE-2023-50387 · CVE-2023-50868 · CVE-2023-51043 · CVE-2023-51779 · CVE-2023-51780 · CVE-2023-52425 · CVE-2023-52434 · CVE-2023-52448 · CVE-2023-52476 · CVE-2023-52489 · CVE-2023-52522 · CVE-2023-52529 · CVE-2023-52574 · CVE-2023-52578 · CVE-2023-52580 · CVE-2023-52581 · CVE-2023-52597 · CVE-2023-52610 · CVE-2023-52620 · CVE-2023-5678 · CVE-2023-6040 · CVE-2023-6121 · CVE-2023-6129 · CVE-2023-6176 · CVE-2023-6228 · CVE-2023-6237 · CVE-2023-6240 · CVE-2023-6531 · CVE-2023-6546 · CVE-2023-6622 · CVE-2023-6915 · CVE-2023-6931 · CVE-2023-6932 · CVE-2023-7008 · CVE-2024-0565 · CVE-2024-0727 · CVE-2024-0841 · CVE-2024-1085 · CVE-2024-1086 · CVE-2024-1394 · CVE-2024-1488 · CVE-2024-21011 · CVE-2024-21012 · CVE-2024-21068 · CVE-2024-21085 · CVE-2024-21094 · CVE-2024-22365 · CVE-2024-24783 · CVE-2024-24784 · CVE-2024-24785 · CVE-2024-24786 · CVE-2024-25062 · CVE-2024-25742 · CVE-2024-25743 · CVE-2024-26582 · CVE-2024-26583 · CVE-2024-26584 · CVE-2024-26585 · CVE-2024-26586 · CVE-2024-26593 · CVE-2024-26602 · CVE-2024-26609 · CVE-2024-26633 · CVE-2024-27316 · CVE-2024-28834 · CVE-2024-28835 · CVE-2024-28849 · CVE-2024-29180 · CVE-2024-2961 · CVE-2024-33599 · CVE-2024-33600 · CVE-2024-33601 · CVE-2024-33602
RHSA-2024:4520: Red Hat Security Advisory: Migration Toolkit for Containers (MTC) 1.7.16 security and bug fix update
CVE-2023-45290 · CVE-2024-24783 · CVE-2024-24784 · CVE-2024-24785 · CVE-2024-29180 · CVE-2024-30255
RHSA-2025:8544: Red Hat Security Advisory: Red Hat OpenShift Data Foundation 4.15.14 Bug Fix Update
CVE-2024-11831 · CVE-2024-21536 · CVE-2024-21538 · CVE-2024-29041 · CVE-2024-29180 · CVE-2024-37890 · CVE-2024-39249 · CVE-2024-45338 · CVE-2024-45590 · CVE-2024-48910 · CVE-2025-22868 · CVE-2025-30204
RHSA-2024:7164: Red Hat Security Advisory: Migration Toolkit for Containers (MTC) 1.8.4 security and bug fix update
CVE-2019-25211 · CVE-2023-45288 · CVE-2023-45289 · CVE-2024-3727 · CVE-2024-4068 · CVE-2024-24788 · CVE-2024-28180 · CVE-2024-28849 · CVE-2024-28863 · CVE-2024-29018 · CVE-2024-29041 · CVE-2024-29180 · CVE-2024-39338
RHEA-2024:7870: Red Hat Enhancement Advisory: Red Hat OpenShift Pipelines Operator Bundle 1.16.0 release
CVE-2024-28863 · CVE-2024-29041 · CVE-2024-29180 · CVE-2024-39338
msrc_CVE-2024-29180: webpack-dev-middleware Path Traversal vulnerability
CVE-2024-29180
RHSA-2026:61783: Red Hat Security Advisory: A Subscription Management tool for finding and reporting Red Hat product usage
CVE-2024-29180 · CVE-2026-1965 · CVE-2026-3783 · CVE-2026-5704 · CVE-2026-6322 · CVE-2026-6653 · CVE-2026-8286 · CVE-2026-9547 · CVE-2026-11822 · CVE-2026-11824 · CVE-2026-11979 · CVE-2026-14164 · CVE-2026-15588 · CVE-2026-18477 · CVE-2026-18508 · CVE-2026-41991 · CVE-2026-41992 · CVE-2026-45409 · CVE-2026-45623 · CVE-2026-54284 · CVE-2026-54371 · CVE-2026-56434 · CVE-2026-58010 · CVE-2026-58011 · CVE-2026-58012 · CVE-2026-58013 · CVE-2026-58014 · CVE-2026-58015 · CVE-2026-58055 · CVE-2026-59868 · CVE-2026-59869 · CVE-2026-59893 · CVE-2026-60005 · CVE-2026-67213 · CVE-2026-67214 · CVE-2026-71491 · CVE-2026-73643 · CVE-2026-75899 · CVE-2026-75931 · CVE-2026-75975 · CVE-2026-76172 · CVE-2026-76844
RHSA-2024:2817: Red Hat Security Advisory: Errata Advisory for Red Hat OpenShift GitOps v1.10.5 security update
CVE-2024-29180
RHSA-2024:6755: Red Hat Security Advisory: Red Hat OpenShift Data Foundation 4.16.2 security and bug fix update
CVE-2023-39325 · CVE-2024-6104 · CVE-2024-24789 · CVE-2024-28176 · CVE-2024-28863 · CVE-2024-29180 · CVE-2024-37890 · CVE-2024-41818
- Source published
- Mar 21, 2024, 4:47:53 PM (timezone not stated)
- Source modified
- Aug 2, 2024, 2:58:57 PM (timezone not stated)
- Observed here
- 11 Nov 2026 00:36:33 UTC
- Source terms
- ENISA EUVD · source terms and attribution apply
Original source record · Cite this exact observation · Complete original publisher JSON
This view projects the publisher's source fields for reading; the original JSON retains additional fields and CVE enrichment containers. Attribution: euvd · ENISA EUVD · source terms and attribution apply. Source text is retained; field grouping and change labels are provided by ChangeIntel.
EUVD CVSS 3.1 · 7.4 CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:N/A:N
nvd · CVE-2024-29180
PublishedPrior 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.
NVD analysis and CPE criteria are source context, not proof that a package or your environment is affected. Complete affected data, logical configurations and SSVC are retained in the original JSON.
Source analysis status: Analyzed
Weakness classifications: CWE-22
Original publisher date fields
published: 2024-03-21T17:15:09.690
lastModified: 2026-06-17T07:22:34.437
1 source CPE criteria · context only
- cpe:2.3:a:webpack.js:webpack-dev-middleware:*:*:*:*:*:*:*:*
The original JSON retains the logical configuration operators, exclusions and version bounds.
- Source published
- 21 Mar 2024 17:15:09 UTC
- Source modified
- 17 Jun 2026 07:22:34 UTC
- Observed here
- 24 Oct 2026 23:17:34 UTC
- Source terms
- NIST NVD usage terms; underlying source attribution retained
Original source record · Cite this exact observation · Complete original publisher JSON
This view projects the publisher's source fields for reading; the original JSON retains additional fields and CVE enrichment containers. Attribution: nvd · NIST NVD usage terms; underlying source attribution retained. Source text is retained; field grouping and change labels are provided by ChangeIntel.
CVSS 3.1 · [email protected] · Secondary · 7.4 CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:N/A:N
CVSS 3.1 · [email protected] · Primary · 7.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
osv · GHSA-wr3j-pwj9-hqq6
Published### Summary _The **webpack-dev-middleware** middleware 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._ ### Details 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: [https://github.com/webpack/webpack-dev-middleware/blob/7ed24e0b9f53ad1562343f9f517f0f0ad2a70377/src/utils/setupOutputFileSystem.js#L21](https://github.com/webpack/webpack-dev-middleware/blob/7ed24e0b9f53ad1562343f9f517f0f0ad2a70377/src/utils/setupOutputFileSystem.js#L21) 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_: [https://github.com/webpack/webpack-dev-middleware/blob/7ed24e0b9f53ad1562343f9f517f0f0ad2a70377/src/utils/getFilenameFromUrl.js#L82](https://github.com/webpack/webpack-dev-middleware/blob/7ed24e0b9f53ad1562343f9f517f0f0ad2a70377/src/utils/getFilenameFromUrl.js#L82) 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. ### PoC _A blank project can be created containing the following configuration file **webpack.config.js**:_ `module.exports = { devServer: { devMiddleware: { writeToDisk: true } } }; ` When started, it is possible to access any local file, e.g. _/etc/passwd_: `$ curl localhost:8080/public/..%2f..%2f..%2f..%2f../etc/passwd` ``` root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin bin:x:2:2:bin:/bin:/usr/sbin/nologin sys:x:3:3:sys:/dev:/usr/sbin/nologin sync:x:4:65534:sync:/bin:/bin/sync games:x:5:60:games:/usr/games:/usr/sbin/nologin ``` ### Impact The 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 (e.g. password, configuration files, private source code, ...). 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 (CORS, **_Allow-Access-Origin: *_** ), 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. ### Recommendation The URL should be unescaped and normalized before any further processing.
- Source published
- 21 Mar 2024 18:59:28 UTC
- Source modified
- 3 Oct 2026 03:55:42 UTC
- Observed here
- 24 Oct 2026 13:17:17 UTC
- Source terms
- GitHub Advisory Database · CC-BY-4.0
Original source record · Cite this exact observation · Complete original publisher JSON
This view projects the publisher's source fields for reading; the original JSON retains additional fields and CVE enrichment containers. Attribution: osv · GitHub Advisory Database · CC-BY-4.0. Source text is retained; field grouping and change labels are provided by ChangeIntel.
CVSS_V3 · CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:N/A:N
Publisher rating · HIGH