First published: Fri Jun 07 2024(Updated: )
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`](<a href="https://github.com/pillarjs/encodeurl">https://github.com/pillarjs/encodeurl</a>) 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. <a href="https://expressjs.com/en/4x/api.html#res.location">https://expressjs.com/en/4x/api.html#res.location</a> <a href="https://github.com/expressjs/express/commit/0867302ddbde0e9463d0564fea5861feb708c2dd">https://github.com/expressjs/express/commit/0867302ddbde0e9463d0564fea5861feb708c2dd</a> <a href="https://github.com/expressjs/express/commit/0b746953c4bd8e377123527db11f9cd866e39f94">https://github.com/expressjs/express/commit/0b746953c4bd8e377123527db11f9cd866e39f94</a> <a href="https://github.com/expressjs/express/pull/5539">https://github.com/expressjs/express/pull/5539</a> <a href="https://github.com/expressjs/express/security/advisories/GHSA-rv95-896h-c2vc">https://github.com/expressjs/express/security/advisories/GHSA-rv95-896h-c2vc</a> <a href="https://github.com/koajs/koa/issues/1800">https://github.com/koajs/koa/issues/1800</a>
Affected Software | Affected Version | How to fix |
---|---|---|
Express.js | <4.19.0<5.0.0-alpha<5.0.0-beta |
Sign up to SecAlerts for real-time vulnerability data matched to your software, aggregated from hundreds of sources.
The severity of REDHAT-BUG-2290901 is considered critical due to the potential for open redirect vulnerabilities.
To fix REDHAT-BUG-2290901, upgrade to Express.js version 4.19.0 or later.
Express.js versions prior to 4.19.0 and all pre-release alpha and beta versions of 5.0 are affected by REDHAT-BUG-2290901.
REDHAT-BUG-2290901 describes an open redirect vulnerability that can occur when handling user-provided URLs.
Exploitation of REDHAT-BUG-2290901 can lead to phishing attacks where users are redirected to malicious sites.