Medium severity · published Mar 25, 2024
CVE-2024-29041
Express.js Open Redirect in malformed URLs
6.1
CVSS
0.8%
EPSS
No
On KEV
Description
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.
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
Attack vector
Network
Complexity
Low
Privileges
None
User interaction
Required
Confidentiality
Low
Integrity
Low
Availability
None
Scope
Changed
Exploitation
Is it being used?
Exploit prediction (EPSS)0.8% · higher than 56% of CVEs
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
EX
express · expressjs
>=4.14.0, <4.19.0; >=5.0.0-alpha.1, <5.0.0-beta.3 · source: vendor, NVD
References
NVD
https://nvd.nist.gov/vuln/detail/CVE-2024-29041
CVE.org
https://www.cve.org/CVERecord?id=CVE-2024-29041
Technical Description
https://expressjs.com/en/4x/api.html#res.location
Patch
https://github.com/expressjs/express/commit/0867302ddbde0e9463d0564fea5861feb708c2dd
Patch
https://github.com/expressjs/express/commit/0b746953c4bd8e377123527db11f9cd866e39f94
Issue Tracking
https://github.com/expressjs/express/pull/5539
Patch
https://github.com/expressjs/express/security/advisories/GHSA-rv95-896h-c2vc
Issue Tracking
https://github.com/koajs/koa/issues/1800
More from express
5.3
CVE-2024-10491
Preload arbitrary resources by injecting additional `Link` headers
4.7
CVE-2024-9266
Open Redirect
4.7
CVE-2024-43796
express vulnerable to XSS via response.redirect()
