Conversation
Snyk has created this PR to upgrade express from 4.17.1 to 4.22.1. See this package in npm: express See this project in Snyk: https://app.snyk.io/org/bahaxid/project/48dd0f6d-5b56-4dea-b17e-690d5ea2f3dc?utm_source=github&utm_medium=referral&page=upgrade-pr
There was a problem hiding this comment.
Pull request overview
This is a Snyk automated security upgrade PR that updates Express from version 4.17.1 to 4.22.1 to address multiple reported security vulnerabilities in Express and its transitive dependencies. The upgrade includes fixes for high-severity vulnerabilities (Asymmetric Resource Consumption, Code Injection, and ReDoS) as well as medium and low severity issues related to XSS, Open Redirect, and Prototype Pollution.
Changes:
- Updates express from 4.17.1 (or "latest") to the specific version 4.22.1
- Updates package-lock.json with all transitive dependency upgrades including body-parser, cookie, qs, and multiple other security-related packages
- Includes major version upgrades for several transitive dependencies (depd 2.0.0, http-errors 2.0.1, statuses 2.0.2)
Reviewed changes
Copilot reviewed 1 out of 2 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| package.json | Changes express version from "latest" to specific version "4.22.1" |
| package-lock.json | Updates complete dependency tree with new versions of express and all transitive dependencies, including security fixes |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| "express": "latest", | ||
| "express": "4.22.1", | ||
| "request": "2.88.2", | ||
| "cheerio": "latest" |
There was a problem hiding this comment.
The version specifier has been changed from "latest" to a specific version "4.22.1". While this is good for security and reproducibility, it's inconsistent with other dependencies in this file. The "cheerio" dependency still uses "latest" as its version specifier. Consider changing "cheerio" to use a specific version as well for consistency and to avoid unexpected breaking changes in the future.
| "cheerio": "latest" | |
| "cheerio": "1.0.0-rc.12" |
| "author": "Herman Fassett", | ||
| "dependencies": { | ||
| "express": "latest", | ||
| "express": "4.22.1", |
There was a problem hiding this comment.
The PR description states the recommended version 4.22.1 was released on "2025-12-01" which is described as "2 months ago". However, version 4.22.1 appears to be the latest stable version which reverted a breaking change from 4.22.0. According to the release notes, CVE-2024-51999 referenced in version 4.22.0 has been rejected, meaning there was no actual security vulnerability. This version is appropriate to upgrade to, but the security justification for urgency may be overstated since the specific CVE was rejected.
Snyk has created this PR to upgrade express from 4.17.1 to 4.22.1.
ℹ️ Keep your dependencies up-to-date. This makes it easier to fix existing vulnerabilities and to more quickly identify and fix newly disclosed vulnerabilities when they affect your project.
The recommended version is 15 versions ahead of your current version.
The recommended version was released 2 months ago.
Issues fixed by the recommended upgrade:
SNYK-JS-BODYPARSER-7926860
SNYK-JS-LODASH-1040724
SNYK-JS-NTHCHECK-1586032
SNYK-JS-COOKIE-8163060
SNYK-JS-EXPRESS-6474509
SNYK-JS-EXPRESS-7926867
SNYK-JS-LODASH-1018905
SNYK-JS-LODASH-15053838
SNYK-JS-PATHTOREGEXP-7925106
SNYK-JS-PATHTOREGEXP-8482416
SNYK-JS-SEND-7926862
SNYK-JS-SERVESTATIC-7926865
Release notes
Package name: express
-
4.22.1 - 2025-12-01
- Release: 4.22.1 by @ UlisesGascon in #6934
-
4.22.0 - 2025-12-01
- Security fix for CVE-2024-51999 (GHSA-pj86-cfqh-vqx6)
- Refactor: improve readability by @ sazk07 in #6190
- ci: add support for Node.js@23.0 by @ UlisesGascon in #6080
- Method functions with no path should error by @ wesleytodd in #5957
- ci: updated github actions ci workflow by @ Phillip9587 in #6323
- ci: reorder
- Backport: ci: add node.js 24 to test matrix by @ Phillip9587 in #6506
- chore(4.x): wider range for query test skip by @ jonchurch in #6513
- use tilde notation for certain dependencies by @ UlisesGascon in #6905
- deps: qs@6.14.0 by @ UlisesGascon in #6909
- deps: use tilde notation for
- Release: 4.22.0 by @ UlisesGascon in #6921
-
4.21.2 - 2024-12-05
- Add funding field (v4) by @ bjohansebas in #6065
- deps: path-to-regexp@0.1.11 by @ blakeembrey in #5956
- deps: bump path-to-regexp@0.1.12 by @ jonchurch in #6209
- Release: 4.21.2 by @ UlisesGascon in #6094
-
4.21.1 - 2024-10-08
- Backport a fix for CVE-2024-47764 to the 4.x branch by @ joshbuker in #6029
- Release: 4.21.1 by @ UlisesGascon in #6031
-
4.21.0 - 2024-09-11
- Deprecate
- finalhandler@1.3.1 by @ wesleytodd in #5954
- fix(deps): serve-static@1.16.2 by @ wesleytodd in #5951
- Upgraded dependency qs to 6.13.0 to match qs in body-parser by @ agadzinski93 in #5946
- @ agadzinski93 made their first contribution in #5946
-
4.20.0 - 2024-09-10
- IMPORTANT: The default
- Remove link renderization in html while using
- 4.19.2 Staging by @ wesleytodd in #5561
- remove duplicate location test for data uri by @ wesleytodd in #5562
- feat: document beta releases expectations by @ marco-ippolito in #5565
- Cut down on duplicated CI runs by @ jonchurch in #5564
- Add a Threat Model by @ UlisesGascon in #5526
- Assign captain of encodeurl by @ blakeembrey in #5579
- Nominate jonchurch as repo captain for
- docs: update Security.md by @ inigomarquinez in #5590
- docs: update triage nomination policy by @ UlisesGascon in #5600
- Add CodeQL (SAST) by @ UlisesGascon in #5433
- docs: add UlisesGascon as triage initiative captain by @ UlisesGascon in #5605
- deps: encodeurl@~2.0.0 by @ blakeembrey in #5569
- skip QUERY method test by @ jonchurch in #5628
- ignore ETAG query test on 21 and 22, reuse skip util by @ jonchurch in #5639
- add support Node.js@22 in the CI by @ mertcanaltin in #5627
- doc: add table of contents, tc/triager lists to readme by @ mertcanaltin in #5619
- List and sort all projects, add captains by @ blakeembrey in #5653
- docs: add @ UlisesGascon as captain for cookie-parser by @ UlisesGascon in #5666
- ✨ bring back query tests for node 21 by @ ctcpip in #5690
- [v4] Deprecate
- skip QUERY tests for Node 21 only, still not supported by @ jonchurch in #5695
- 📝 update people, add ctcpip to TC by @ ctcpip in #5683
- remove minor version pinning from ci by @ jonchurch in #5722
- Fix link variable use in attribution section of CODE OF CONDUCT by @ IamLizu in #5762
- Replace Appveyor windows testing with GHA by @ jonchurch in #5599
- Add OSSF Scorecard badge by @ UlisesGascon in #5436
- update scorecard link by @ bjohansebas in #5814
- Nominate @ IamLizu to the triage team by @ UlisesGascon in #5836
- deps: path-to-regexp@0.1.8 by @ blakeembrey in #5603
- docs: specify new instructions for
- 4.x: Upgrade
- path-to-regexp@0.1.10 by @ blakeembrey in #5902
- @ marco-ippolito made their first contribution in #5565
- @ inigomarquinez made their first contribution in #5590
- @ mertcanaltin made their first contribution in #5627
- @ ctcpip made their first contribution in #5690
- @ bjohansebas made their first contribution in #5814
-
4.19.2 - 2024-03-25
-
4.19.1 - 2024-03-20
-
4.19.0 - 2024-03-20
-
4.18.3 - 2024-02-29
-
4.18.2 - 2022-10-08
-
4.18.1 - 2022-04-29
-
4.18.0 - 2022-04-25
-
4.17.3 - 2022-02-17
-
4.17.2 - 2021-12-17
-
4.17.1 - 2019-05-26
from express GitHub release notesWhat's Changed
Important
The prior release (4.22.0) included an erroneous breaking change related to the extended query parser. There is no actual security vulnerability associated with this behavior (CVE-2024-51999 has been rejected). The change has been fully reverted in this release.
Full Changelog: 4.22.0...v4.22.1
Important: Security
What's Changed
npm isteps to fix ci for older node versions by @ Phillip9587 in #6336qsby @ Phillip9587 in #6919Full Changelog: 4.21.2...4.22.0
What's Changed
Full Changelog: 4.21.1...4.21.2
What's Changed
Full Changelog: 4.21.0...4.21.1
What's Changed
"back"magic string in redirects by @ blakeembrey in #5935New Contributors
Full Changelog: 4.20.0...4.21.0
What's Changed
Important
depthlevel for parsing URL-encoded data is now32(previously wasInfinity)res.redirectOther Changes
http-errors,expressjs.com,morgan,cors,body-parserby @ jonchurch in #5587res.clearCookieacceptingoptions.maxAgeandoptions.expiresby @ jonchurch in #5672questionanddiscussby @ IamLizu in #5835merge-descriptorsdependency by @ RobinTail in #5781New Contributors
Full Changelog: 4.19.1...4.20.0
Important
Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open upgrade PRs.
For more information: