CVE-2024-29041

NameCVE-2024-29041
DescriptionExpress.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.
SourceCVE (at NVD; CERT, LWN, oss-sec, fulldisc, Red Hat, Ubuntu, Gentoo, SUSE bugzilla/CVE, GitHub advisories/code/issues, web search, more)
Debian Bugs1068346

Vulnerable and fixed packages

The table below lists information on source packages.

Source PackageReleaseVersionStatus
node-express (PTS)bullseye4.17.1-3vulnerable
bookworm4.18.2+~4.17.14-1vulnerable
trixie, sid4.21.0+~cs8.36.26-2fixed

The information below is based on the following data on fixed versions.

PackageTypeReleaseFixed VersionUrgencyOriginDebian Bugs
node-expresssource(unstable)4.19.2+~cs8.36.21-11068346

Notes

[bookworm] - node-express <no-dsa> (Minor issue)
[bullseye] - node-express <no-dsa> (Minor issue)
[buster] - node-express <postponed> (Minor issue; can be fixed in next update)
https://github.com/expressjs/express/security/advisories/GHSA-rv95-896h-c2vc
https://github.com/koajs/koa/issues/1800
https://github.com/expressjs/express/pull/5539
https://github.com/expressjs/express/commit/0867302ddbde0e9463d0564fea5861feb708c2dd (4.19.0)
https://github.com/expressjs/express/commit/da4d763ff6ba9df6dbd8f1f0b1d05412dda934d5 (4.19.2)
https://github.com/expressjs/express/commit/0b746953c4bd8e377123527db11f9cd866e39f94

Search for package or bug name: Reporting problems