Update dependency express to v4.20.0 [SECURITY]#514
Closed
renovate[bot] wants to merge 634 commits into
Closed
Conversation
* now using public NPM registry * added extension verification with code-signer * additional output to ext:list * refactored extension discovery to use cascading defaults from package.json if not in manifest * Allow installing tarballs from URL - bugfix broken code signature for static packages - remove cache entry when installing from file or URL * fix broken TestExtensions * changes from review * address case where version as path is passed but no name * fix flaky windows tests
* Sync package locks on publish * Fix package locks * Fix npm audit issues
* Updated relate client parameters and added support for remote STATIC apps * fix broken test * disable concurrent tests again * changes from review
* Fix setup script hanging on errors * Add xvfb script for Docker tests
* fix(cli): db:exec allow nameOrId, append missing semicolon, reduce extra output * fix(cli): removed extra, conflicting @oclif/errors dependency * fix(common): input stream to cypher-shell may be a string or a raw buffer * fix(cli): create test project, populate with test cypher for db:exec testing * fix(common): all dbs.local operations accept nameOrId
* created relate client RFC * added link to PR * update RFC
* Web: add online check and server status to infoDbmss * CLI: make flag casing consistent across commands And add onlineCheck flag to dbms:info * CLI: remove duplicate calls to dbmss.info * CLI: fix docs links
* now saving access tokens in separate files * changes from review * added dump logs for better debugging * banned TS type assertions and updated linter
* create separate env dirs when creating new envs * fix failing tests * fix rebase conflict * fix access token storage path, improved teardown cleanup * removed yargs from common * remove yargs and revert to backward compatible dataPath * refactored modules to be dynamic, removing the need for environment variables to accurately load extensions * Return of the global config, much better * systemProvider createEnv and getEnv tests * pass config to load property in system provider test Co-authored-by: Hugo Bove <hugo.bove@neotechnology.com>
* Update table fields on environment:list * Add manifest entity * Add manifest entity to DBMSs * Add manifest entity to projects * Rename model files, make manifest readonly * Add manifest tests * Add util to get manifest name * Fix broken import
* Types: add Dict.assign * Add metadata to entity manifest * CLI: update output to include metadata * Allow passing multiple keys to Dict.omit * Update signature of metadata methods
* Update docs * Bump code signer
* Create test util to create environments * Start running tests in separate environments * Disallow new expression with TestEnvironment
* Add method to unlink projects * Make nameOrId argument consistent across project operations * Fix broken links showing as existing projects * Refactor dbmss.link and projects.link * Add more link tests * Update CLI commands * Update docs * Fix broken tests * Always set encoding when reading or writing JSON
* Copy import folder on DBMS upgrades * Allow getting, setting, and removing metadata from WebModule * Add tests
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
27701bd to
f6402f8
Compare
4d9e6a7 to
8d187e5
Compare
0591869 to
7dd53fd
Compare
7dd53fd to
f2a51c9
Compare
f2a51c9 to
023ffb3
Compare
023ffb3 to
df347c5
Compare
72f2416 to
e6396cb
Compare
e6396cb to
c274622
Compare
Contributor
Author
Renovate Ignore NotificationBecause you closed this PR without merging, Renovate will ignore this update ( If you accidentally closed this PR, or if you changed your mind: rename this PR to get a fresh replacement PR. |
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.18.2→4.20.0express vulnerable to XSS via response.redirect()
CVE-2024-43796 / GHSA-qw6h-vgh9-j6wx
More information
Details
Impact
In express <4.20.0, passing untrusted user input - even after sanitizing it - to
response.redirect()may execute untrusted codePatches
this issue is patched in express 4.20.0
Workarounds
users are encouraged to upgrade to the patched version of express, but otherwise can workaround this issue by making sure any untrusted inputs are safe, ideally by validating them against an explicit allowlist
Details
successful exploitation of this vector requires the following:
Severity
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:LReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
Express.js Open Redirect in malformed URLs
CVE-2024-29041 / GHSA-rv95-896h-c2vc
More information
Details
Impact
Versions of Express.js prior to 4.19.2 and pre-release alpha and beta versions before 5.0.0-beta.3 are affected by an open redirect vulnerability using malformed URLs.
When a user of Express performs a redirect using a user-provided URL Express performs an encode using
encodeurlon the contents before passing it to thelocationheader. This can cause malformed URLs to be evaluated in unexpected ways by common redirect allow list implementations in Express applications, leading to an Open Redirect via bypass of a properly implemented allow list.The main method impacted is
res.location()but this is also called from withinres.redirect().Patches
expressjs/express@0867302
expressjs/express@0b74695
An initial fix went out with
express@4.19.0, we then patched a feature regression in4.19.1and added improved handling for the bypass in4.19.2.Workarounds
The fix for this involves pre-parsing the url string with either
require('node:url').parseornew URL. These are steps you can take on your own before passing the user input string tores.locationorres.redirect.Resources
https://github.com/expressjs/express/pull/5539
https://github.com/koajs/koa/issues/1800
https://expressjs.com/en/4x/api.html#res.location
Severity
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:NReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
Release Notes
expressjs/express (express)
v4.20.0Compare Source
==========
depthoption to customize the depth level in the parserdepthlevel for parsing URL-encoded data is now32(previously wasInfinity)res.redirect\,|, and^to align better with URL specoptions.maxAgeandoptions.expirestores.clearCookiev4.19.2Compare Source
==========
v4.19.1Compare Source
==========
v4.19.0Compare Source
==========
v4.18.3Compare Source
==========
partitionedoptionConfiguration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, 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.