CVE-2024-29041
CVE-2024-29041 is a medium-severity vulnerability in Openjsf Express with a CVSS 3.x base score of 6.1. It is not currently listed as actively exploited by CISA, and its EPSS exploit-prediction score is low. The underlying weakness is classified as CWE-601.
Key facts
- Severity: Medium (CVSS 3.x base score 6.1)
- EPSS exploit prediction: 1% (52nd percentile)
- Actively exploited: Not listed in CISA KEV
- EU (EUVD) id: EUVD-2024-1007
- Weakness: CWE-601
- Affected product: Openjsf Express
- Published:
- Last modified:
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.
Frequently asked questions
- What is 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.
- How severe is CVE-2024-29041?
- CVE-2024-29041 has a CVSS 3.x base score of 6.1, rated medium severity. It is exploitable over network with low attack complexity, requires no privileges and user interaction. Impact on confidentiality is low, integrity low, and availability none.
- Is CVE-2024-29041 being actively exploited?
- It is not currently listed in CISA's KEV catalog. Its EPSS exploit-prediction score is 1% (52nd percentile), an estimate of the probability of exploitation in the next 30 days.
- What products are affected by CVE-2024-29041?
- CVE-2024-29041 primarily affects Openjsf Express. In total, 11 product configurations (CPEs) are listed as vulnerable; see the affected-products list for the exact versions.
- How do I fix CVE-2024-29041?
- Review the linked vendor and NVD advisories for patched versions and mitigations, then upgrade or apply the recommended workaround.
- Does CVE-2024-29041 have an EU (EUVD) identifier?
- Yes. CVE-2024-29041 is tracked in the ENISA EU Vulnerability Database (EUVD) as EUVD-2024-1007.
- When was CVE-2024-29041 published?
- CVE-2024-29041 was published on 2024-03-25 and last updated on 2026-06-17.
References
- https://expressjs.com/en/4x/api.html#res.location
- https://github.com/expressjs/express/commit/0867302ddbde0e9463d0564fea5861feb708c2dd
- https://github.com/expressjs/express/commit/0b746953c4bd8e377123527db11f9cd866e39f94
- https://github.com/expressjs/express/pull/5539
- https://github.com/expressjs/express/security/advisories/GHSA-rv95-896h-c2vc
- https://github.com/koajs/koa/issues/1800
Affected products (11)
- cpe:2.3:a:openjsf:express:*:*:*:*:*:node.js:*:*
- cpe:2.3:a:openjsf:express:5.0.0:alpha1:*:*:*:node.js:*:*
- cpe:2.3:a:openjsf:express:5.0.0:alpha2:*:*:*:node.js:*:*
- cpe:2.3:a:openjsf:express:5.0.0:alpha3:*:*:*:node.js:*:*
- cpe:2.3:a:openjsf:express:5.0.0:alpha4:*:*:*:node.js:*:*
- cpe:2.3:a:openjsf:express:5.0.0:alpha5:*:*:*:node.js:*:*
- cpe:2.3:a:openjsf:express:5.0.0:alpha6:*:*:*:node.js:*:*
- cpe:2.3:a:openjsf:express:5.0.0:alpha7:*:*:*:node.js:*:*
- cpe:2.3:a:openjsf:express:5.0.0:alpha8:*:*:*:node.js:*:*
- cpe:2.3:a:openjsf:express:5.0.0:beta1:*:*:*:node.js:*:*
- cpe:2.3:a:openjsf:express:5.0.0:beta2:*:*:*:node.js:*:*
More vulnerabilities in Openjsf Express
- CVE-2022-24999 — High (CVSS 7.5): qs before 6.10.3, as used in Express before 4.17.3 and other products, allows attackers to cause a Node process hang…
- CVE-2014-6393 — Medium (CVSS 6.1): The Express web framework before 3.11 and 4.x before 4.5 for Node.js does not provide a charset field in HTTP…
- CVE-2024-43796 — Medium (CVSS 5.0): Express.js minimalist web framework for node. In express < 4.20.0, passing untrusted user input - even after sanitizing…
- CVE-2024-10491 — Medium (CVSS 4.0): A vulnerability has been identified in the Express response.links function, allowing for arbitrary resource injection…
All CVEs affecting Openjsf Express →
Other CWE-601 (Open Redirect) vulnerabilities
- CVE-2018-3774 — Critical (CVSS 10.0): Incorrect parsing in url-parse <1.4.3 returns wrong hostname which leads to multiple vulnerabilities such as SSRF, Open…
- CVE-2019-25282 — Critical (CVSS 9.8): V-SOL GPON/EPON OLT Platform v2.03 contains an open redirect vulnerability in the script that allows attackers to…
- CVE-2020-36912 — Critical (CVSS 9.8): Plexus anblick Digital Signage Management 3.1.13 contains an open redirect vulnerability in the 'PantallaLogin' script…
- CVE-2025-43526 — Critical (CVSS 9.8): This issue was addressed with improved URL validation. This issue is fixed in Safari 26.2, macOS Tahoe 26.2. On a Mac…
- CVE-2025-55031 — Critical (CVSS 9.8): Malicious pages could use Firefox for iOS to pass FIDO: links to the OS and trigger the hybrid passkey transport. An…
- CVE-2024-22891 — Critical (CVSS 9.8): Nteract v.0.28.0 was discovered to contain a remote code execution (RCE) vulnerability via the Markdown link.