CVE-2024-29041: expressjs express Open Redirect
Vulnerability summary
CVE-2024-29041 is a medium (CVSS 6.1) Open Redirect vulnerability in expressjs express. EPSS estimates a 0.79% chance of exploitation in the next 30 days, higher than 55.3% of scored vulnerabilities.
Advisory lineage
Upstream 0 · Downstream 1 · Related 6Timeline
- 25-03-2024PublishedVulnerability first disclosed.
- 02-08-2024Last modifiedVulnerability information updated.
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 metrics
7 scores · 7 sources · 1 version- OSV · UbuntuEcosystem advisory · calculated6.1MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
- OSV · DebianEcosystem advisory · calculated6.1MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
- OSV · WolfiEcosystem advisory · calculated6.1MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
- OSV · NpmEcosystem advisory · calculated6.1MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
- OSV · ChainguardEcosystem advisory · calculated6.1MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
- NVDNIST6.1MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
EPSS trend
Probability
0.79%
Chance of exploitation in the next 30 days
Percentile
55%
Versus all other CVEs
30-day change
0.00 pp
From 0.79% on 20-09-2026
Known exploited
Compare KEV catalogsNot in any of the 3 tracked catalogs.
Public exploits
0 foundNo public exploits indexed.
Weaknesses
CWE · root cause- CWE-601URL Redirection to Untrusted Site ('Open Redirect')The web application accepts a user-controlled input that specifies a link to an external site, and uses that link in a redirect.
- CWE-1286Improper Validation of Syntactic Correctness of InputThe product receives input that is expected to be well-formed - i.e., to comply with a certain syntax - but it does not validate or incorrectly validates that the input complies with the syntax.
Affected systems
Chainguard17 products
- arangodb-3.11< 3.11.14.5-r25
- argo-workflows< 3.6.5-r2
- kubeflow-centraldashboard< 1.8.0-r3
- kubeflow-pipelines< 2.4.0-r9
- kubeflow-pipelines-apiserver< 2.4.0-r9
Wolfi16 products
- argo-workflows< 3.6.5-r2
- kubeflow-centraldashboard< 1.8.0-r3
- kubeflow-pipelines< 2.4.0-r9
- kubeflow-pipelines-apiserver< 2.4.0-r9
- kubeflow-pipelines-cache_server< 2.4.0-r9
Debian1 product
- node-expressAll versions (No fix recorded) | < 4.19.2+~cs8.36.21-1
Expressjs1 product
- express≥ 4.14.0, < 4.19.0 | ≥ 5.0.0-alpha.1, < 5.0.0-beta.3
Npm1 product
- express< 4.19.2 | ≥ 5.0.0-alpha.1, < 5.0.0-beta.3
Openjsf1 product
- express< 4.19.2 | 5.0.0:alpha1 | 5.0.0:alpha2 | 5.0.0:alpha3 | 5.0.0:alpha4 | 5.0.0:alpha5 | 5.0.0:alpha6 | 5.0.0:alpha7 | 5.0.0:alpha8 | 5.0.0:beta1 | 5.0.0:beta2
Ubuntu1 product
- node-express< 4.1.1~dfsg-1ubuntu0.16.04.1~esm1 | < 4.1.1~dfsg-1ubuntu0.18.04.1~esm1 | < 4.17.1-2ubuntu0.1~esm1 | < 4.17.3+~4.17.13-1ubuntu0.1~esm1
7 vendors · 38 products
References
13 links- github.com/expressjs/express/security/advisories/GHSA-rv95-896h-c2vcX Refsource CONFIRMREPORTAdvisoryWEBPatchVendor Advisory
- github.com/expressjs/express/commit/0867302ddbde0e9463d0564fea5861feb708c2ddX Refsource MISCREPORTFIXWEBPatch
- github.com/expressjs/express/commit/0b746953c4bd8e377123527db11f9cd866e39f94X Refsource MISCREPORTFIXWEBPatch
Show all 13 references
- github.com/expressjs/expressPACKAGE