Repository navigation
chore(deps): update dependency webpack-dev-middleware to v7 [security] - #2528
Open
renovate[bot] wants to merge 1 commit into
Open
renovate[bot] wants to merge 1 commit into
renovate[bot] wants to merge 1 commit into
Conversation
renovate
Bot
deleted the
renovate/npm-webpack-dev-middleware-vulnerability
branch
December 8, 2024 18:39
renovate
Bot
force-pushed
the
renovate/npm-webpack-dev-middleware-vulnerability
branch
from
December 9, 2024 00:31
1592c4f to
d45d97b
Compare
renovate
Bot
force-pushed
the
renovate/npm-webpack-dev-middleware-vulnerability
branch
from
August 10, 2025 14:57
d45d97b to
060d27d
Compare
renovate
Bot
force-pushed
the
renovate/npm-webpack-dev-middleware-vulnerability
branch
from
August 31, 2025 10:59
060d27d to
3531e36
Compare
renovate
Bot
force-pushed
the
renovate/npm-webpack-dev-middleware-vulnerability
branch
from
October 21, 2025 09:10
3531e36 to
55bc88e
Compare
renovate
Bot
force-pushed
the
renovate/npm-webpack-dev-middleware-vulnerability
branch
from
February 17, 2026 20:13
55bc88e to
36c55fb
Compare
renovate
Bot
force-pushed
the
renovate/npm-webpack-dev-middleware-vulnerability
branch
2 times, most recently
from
March 30, 2026 18:26
36c55fb to
547781f
Compare
renovate
Bot
force-pushed
the
renovate/npm-webpack-dev-middleware-vulnerability
branch
from
April 29, 2026 20:15
547781f to
dda6703
Compare
renovate
Bot
force-pushed
the
renovate/npm-webpack-dev-middleware-vulnerability
branch
from
May 12, 2026 17:26
dda6703 to
e888fbc
Compare
renovate
Bot
force-pushed
the
renovate/npm-webpack-dev-middleware-vulnerability
branch
from
July 12, 2026 18:44
e888fbc to
9eeea35
Compare
renovate
Bot
force-pushed
the
renovate/npm-webpack-dev-middleware-vulnerability
branch
from
July 20, 2026 19:05
9eeea35 to
eb5b329
Compare
renovate
Bot
force-pushed
the
renovate/npm-webpack-dev-middleware-vulnerability
branch
2 times, most recently
from
July 22, 2026 02:34
eb5b329 to
4f14252
Compare
renovate
Bot
force-pushed
the
renovate/npm-webpack-dev-middleware-vulnerability
branch
from
August 12, 2026 03:28
4f14252 to
a838a9d
Compare
renovate
Bot
force-pushed
the
renovate/npm-webpack-dev-middleware-vulnerability
branch
2 times, most recently
from
August 27, 2026 01:58
0a0d7c0 to
d150ca8
Compare
renovate
Bot
force-pushed
the
renovate/npm-webpack-dev-middleware-vulnerability
branch
3 times, most recently
from
September 2, 2026 22:10
7146302 to
c082790
Compare
renovate
Bot
force-pushed
the
renovate/npm-webpack-dev-middleware-vulnerability
branch
2 times, most recently
from
September 9, 2026 22:03
ceddf69 to
afc1899
Compare
renovate
Bot
force-pushed
the
renovate/npm-webpack-dev-middleware-vulnerability
branch
2 times, most recently
from
September 17, 2026 02:53
5f5c69f to
11e30ac
Compare
renovate
Bot
force-pushed
the
renovate/npm-webpack-dev-middleware-vulnerability
branch
from
October 8, 2026 03:18
11e30ac to
7591dcf
Compare
renovate
Bot
force-pushed
the
renovate/npm-webpack-dev-middleware-vulnerability
branch
from
October 8, 2026 05:53
7591dcf to
ca073dd
Compare
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
4.1.0→7.4.6Path traversal in webpack-dev-middleware
CVE-2024-29180 / GHSA-wr3j-pwj9-hqq6
More information
Details
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
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
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/passwdImpact
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.
Severity
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:N/A:NReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
webpack-dev-middleware vulnerable to Path Traversal via non-slash-terminated publicPath
CVE-2026-76844 / GHSA-g84c-rxfj-3j2c
More information
Details
Impact
webpack-dev-middlewareresolves a request to a local file ingetFilenameFromUrl. When the configuredpublicPathhas no trailing slash (for example/assets), a request that shares that prefix without being under it (for example/assets../secret) still passes the containment check, and the..guard does not catch it because it runs on the path before thepublicPathprefix is stripped. The stripped remainder then escapes the configured output directory once joined, so an unauthenticated request can read files outside the output root. Applications servingwebpack-dev-middleware(directly or viawebpack-dev-server) with apublicPaththat does not end in a slash are affected. A development server reachable on the network can be attacked with a single request and no victim interaction.Patches
Patched in
webpack-dev-middleware8.3.0. There is no backport to the 5.x, 6.x, or 7.x lines; users on those lines should upgrade to 8.3.0 or later.Workarounds
Configure
publicPathwith a trailing slash (for example/assets/instead of/assets), or upgrade to a patched version.References
Severity
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:N/A:NReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
Release Notes
webpack/webpack-dev-middleware (webpack-dev-middleware)
v7.4.6Compare Source
7.4.6 (2026-09-03)
Bug Fixes
v7.4.5Compare Source
v7.4.4Compare Source
v7.4.3Compare Source
v7.4.2Compare Source
v7.4.1Compare Source
v7.4.0Compare Source
Features
image.e12ab567.jpg) (5ed629d)Cache-Controlheader (#1923) (f7529c3)Bug Fixes
devServer: false(b443f4d)v7.3.0Compare Source
Features
7.2.1 (2024-04-02)
Bug Fixes
v7.2.1Compare Source
Features
7.2.1 (2024-04-02)
Bug Fixes
v7.2.0Compare Source
Features
7.2.1 (2024-04-02)
Bug Fixes
v7.1.1Compare Source
Features
ETagheader generation (#1797) (b759181)Last-Modifiedheader generation (#1798) (18e5683)7.1.1 (2024-03-21)
Bug Fixes
ContentLengthincorrectly set for empty files (#1785) (0f3e25e)v7.1.0Compare Source
Features
ETagheader generation (#1797) (b759181)Last-Modifiedheader generation (#1798) (18e5683)7.1.1 (2024-03-21)
Bug Fixes
ContentLengthincorrectly set for empty files (#1785) (0f3e25e)v7.0.0Compare Source
⚠ BREAKING CHANGES
Features
updated memfs@4 (#1693) (244d9f8)
minimum supported Node.js version is 18.12.0 (#1694) (e273d61)
6.1.1 (2023-05-16)
Bug Fixes
methodsshould be string array (#1550) (41b2f77)v6.1.3Compare Source
6.1.3 (2024-03-29)
Bug Fixes
v6.1.2Compare Source
6.1.2 (2024-03-20)
Bug Fixes
v6.1.1Compare Source
⚠ BREAKING CHANGES
Features
updated memfs@4 (#1693) (244d9f8)
minimum supported Node.js version is 18.12.0 (#1694) (e273d61)
6.1.1 (2023-05-16)
Bug Fixes
methodsshould be string array (#1550) (41b2f77)v6.1.0Compare Source
⚠ BREAKING CHANGES
Features
updated memfs@4 (#1693) (244d9f8)
minimum supported Node.js version is 18.12.0 (#1694) (e273d61)
6.1.1 (2023-05-16)
Bug Fixes
methodsshould be string array (#1550) (41b2f77)v6.0.2Compare Source
Features
mimeTypeDefaultoption (#1527) (503d290)modifyResponseDataoption (#1529) (35dac70)Bug Fixes
memory-fswhenwriteToDiskistrue(#1537) (852245e)6.0.2 (2023-03-19)
Bug Fixes
6.0.1 (2022-11-28)
Bug Fixes
indexandmethodsproperties (#1397) (cda328e)v6.0.1Compare Source
Features
mimeTypeDefaultoption (#1527) (503d290)modifyResponseDataoption (#1529) (35dac70)Bug Fixes
memory-fswhenwriteToDiskistrue(#1537) (852245e)6.0.2 (2023-03-19)
Bug Fixes
6.0.1 (2022-11-28)
Bug Fixes
indexandmethodsproperties (#1397) (cda328e)v6.0.0Compare Source
Features
mimeTypeDefaultoption (#1527) (503d290)modifyResponseDataoption (#1529) (35dac70)Bug Fixes
memory-fswhenwriteToDiskistrue(#1537) (852245e)6.0.2 (2023-03-19)
Bug Fixes
6.0.1 (2022-11-28)
Bug Fixes
indexandmethodsproperties (#1397) (cda328e)v5.3.4Compare Source
5.3.4 (2024-03-20)
Bug Fixes
v5.3.3Compare Source
⚠ BREAKING CHANGES
5.3.3 (2022-05-18)
Bug Fixes
RequestandResponse(#1271) (eeb8aa8)5.3.2 (2022-05-17)
Bug Fixes
5.3.1 (2022-02-01)
Bug Fixes
v5.3.2Compare Source
⚠ BREAKING CHANGES
5.3.3 (2022-05-18)
Bug Fixes
RequestandResponse(#1271) (eeb8aa8)5.3.2 (2022-05-17)
Bug Fixes
5.3.1 (2022-02-01)
Bug Fixes
v5.3.1Compare Source
⚠ BREAKING CHANGES
5.3.3 (2022-05-18)
Bug Fixes
RequestandResponse(#1271) (eeb8aa8)5.3.2 (2022-05-17)
Bug Fixes
5.3.1 (2022-02-01)
Bug Fixes
v5.3.0Compare Source
⚠ BREAKING CHANGES
5.3.3 (2022-05-18)
Bug Fixes
RequestandResponse(#1271) (eeb8aa8)5.3.2 (2022-05-17)
Bug Fixes
5.3.1 (2022-02-01)
Bug Fixes
v5.2.2Compare Source
Features
5.2.2 (2021-11-17)
Chore
schema-utilspackage to4.0.0version5.2.1 (2021-09-25)
v5.2.1Compare Source
Features
5.2.2 (2021-11-17)
Chore
schema-utilspackage to4.0.0version5.2.1 (2021-09-25)
v5.2.0Compare Source
Features
5.2.2 (2021-11-17)
Chore
schema-utilspackage to4.0.0version5.2.1 (2021-09-25)
v5.1.0Compare Source
Features
Rangeheader is present (e8b21f0)Bug Fixes
mempackage (#1027) (0d55268)v5.0.0Compare Source
⚠ BREAKING CHANGES
Node.jsversion is12.13.0(#928) (4cffeff)v4.3.0Compare Source
Features
getFilenameFromUrlto API (#911) (1edc726)Bug Fixes
v4.2.0Compare Source
Features
headersoption to accept function (#897) (966afb3)Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.