Open Redirect in Expressjs Express
CVE-2024-29041
Express.js minimalist web framework for node. Versions of Express.js prior to 4.19.0 and all pre-release alpha and beta versions of 5.0 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 `encodeurl`](https://github.com/pillarjs/encodeurl) on the contents before passing it to the `location` header. 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 within `res.redirect()`. The vulnerability is fixed in 4.19.2 and 5.0.0-beta.3.
Vulnerability class: Open Redirect
Published · last modified .
CVSS v3 metric
CVSS v3 base score 6.1 (Medium). Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N.
EPSS exploit prediction
EPSS: 0.008 (54.3th percentile), scored .
Very low probability of exploitation in the next 30 days; routine patching cadence is appropriate. 54th percentile — 54.3% of CVEs in the catalogue have a lower EPSS than this one. How to read EPSS.
EPSS over last 30 days · oldest: 0.008 · newest: 0.008 · change: 0.000
Affected products
- Expressjs Express — versions >=4.14.0, <4.19.0, >=5.0.0-alpha.1, <5.0.0-beta.3
- Openjsf Express — versions 5.0.0
Weakness classification (CWE)
Public proof-of-concept exploits
References
- github.com/expressjs/express/security/advisories/GHSA-rv95-896h-c2vc (Patch, Vendor Advisory)
- github.com/koajs/koa/issues/1800 (Issue Tracking)
- github.com/expressjs/express/pull/5539 (Issue Tracking)
- github.com/expressjs/express/commit/0867302ddbde0e9463d0564fea5861feb708c2dd (Patch)
- github.com/expressjs/express/commit/0b746953c4bd8e377123527db11f9cd866e39f94 (Patch)
- expressjs.com/en/4x/api.html (Technical Description)
Frequently asked questions
- What is CVE-2024-29041?
- CVE-2024-29041 is a medium-severity vulnerability in Expressjs Express, classified under URL Redirection to Untrusted Site (Open Redirect). CVSS score: 6.1/10. Published 2024-03-25.
- How severe is CVE-2024-29041?
- Medium severity. CVSS v3 base score is 6.1 out of 10.
- Is CVE-2024-29041 known to be exploited?
- 9 public proof-of-concept repositories are indexed. Not currently listed in the CISA KEV catalog.