-
-
Notifications
You must be signed in to change notification settings - Fork 20
chore(deps): update dependency webpack-dev-middleware to v5 [security] #488
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
Conversation
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
|
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
@renovate
renovate
bot
force-pushed
the
renovate/npm-webpack-dev-middleware-vulnerability
branch
from
July 26, 2024 22:12
ec9fe3c to
96b3bb5
Compare
@renovate
renovate
bot
changed the title
(削除) Update dependency webpack-dev-middleware to v5 [SECURITY] (削除ここまで)
(追記) chore(deps): update dependency webpack-dev-middleware to v5 [security] (追記ここまで)
Jul 26, 2024
@renovate
renovate
bot
force-pushed
the
renovate/npm-webpack-dev-middleware-vulnerability
branch
from
November 23, 2024 15:09
96b3bb5 to
959a0bf
Compare
@renovate
renovate
bot
force-pushed
the
renovate/npm-webpack-dev-middleware-vulnerability
branch
from
May 26, 2025 12:45
959a0bf to
28b50d9
Compare
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.
Uh oh!
There was an error while loading. Please reload this page.
This PR contains the following updates:
4.1.0->5.3.4GitHub Vulnerability Alerts
CVE-2024-29180
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.
Release Notes
webpack/webpack-dev-middleware (webpack-dev-middleware)
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: Branch creation - "" (UTC), Automerge - At any time (no schedule defined).
🚦 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.