Vulnerability Details 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.
Exploit prediction scoring system (EPSS) score
EPSS Score 0.001
EPSS Ranking 30.7%
CVSS Severity
CVSS v3 Score 6.1
Products affected by CVE-2024-29041
-
cpe:2.3:a:openjsf:express:-
-
cpe:2.3:a:openjsf:express:0.0.1
-
cpe:2.3:a:openjsf:express:0.0.2
-
cpe:2.3:a:openjsf:express:0.1.0
-
cpe:2.3:a:openjsf:express:0.10.0
-
cpe:2.3:a:openjsf:express:0.10.1
-
cpe:2.3:a:openjsf:express:0.11.0
-
cpe:2.3:a:openjsf:express:0.12.0
-
cpe:2.3:a:openjsf:express:0.13.0
-
cpe:2.3:a:openjsf:express:0.14.0
-
cpe:2.3:a:openjsf:express:0.14.1
-
cpe:2.3:a:openjsf:express:0.2.0
-
cpe:2.3:a:openjsf:express:0.2.1
-
cpe:2.3:a:openjsf:express:0.3.0
-
cpe:2.3:a:openjsf:express:0.4.0
-
cpe:2.3:a:openjsf:express:0.5.0
-
cpe:2.3:a:openjsf:express:0.6.0
-
cpe:2.3:a:openjsf:express:0.7.0
-
cpe:2.3:a:openjsf:express:0.7.1
-
cpe:2.3:a:openjsf:express:0.7.2
-
cpe:2.3:a:openjsf:express:0.7.3
-
cpe:2.3:a:openjsf:express:0.7.4
-
cpe:2.3:a:openjsf:express:0.7.5
-
cpe:2.3:a:openjsf:express:0.7.6
-
cpe:2.3:a:openjsf:express:0.8.0
-
cpe:2.3:a:openjsf:express:0.9.0
-
cpe:2.3:a:openjsf:express:1.0.0
-
cpe:2.3:a:openjsf:express:1.0.1
-
cpe:2.3:a:openjsf:express:1.0.2
-
cpe:2.3:a:openjsf:express:1.0.3
-
cpe:2.3:a:openjsf:express:1.0.4
-
cpe:2.3:a:openjsf:express:1.0.5
-
cpe:2.3:a:openjsf:express:1.0.6
-
cpe:2.3:a:openjsf:express:1.0.7
-
cpe:2.3:a:openjsf:express:1.0.8
-
cpe:2.3:a:openjsf:express:1.0.9
-
cpe:2.3:a:openjsf:express:2.0.0
-
cpe:2.3:a:openjsf:express:2.1.0
-
cpe:2.3:a:openjsf:express:2.1.1
-
cpe:2.3:a:openjsf:express:2.2.0
-
cpe:2.3:a:openjsf:express:2.2.1
-
cpe:2.3:a:openjsf:express:2.2.2
-
cpe:2.3:a:openjsf:express:2.3.0
-
cpe:2.3:a:openjsf:express:2.3.1
-
cpe:2.3:a:openjsf:express:2.3.10
-
cpe:2.3:a:openjsf:express:2.3.11
-
cpe:2.3:a:openjsf:express:2.3.12
-
cpe:2.3:a:openjsf:express:2.3.2
-
cpe:2.3:a:openjsf:express:2.3.3
-
cpe:2.3:a:openjsf:express:2.3.4
-
cpe:2.3:a:openjsf:express:2.3.5
-
cpe:2.3:a:openjsf:express:2.3.6
-
cpe:2.3:a:openjsf:express:2.3.7
-
cpe:2.3:a:openjsf:express:2.3.8
-
cpe:2.3:a:openjsf:express:2.3.9
-
cpe:2.3:a:openjsf:express:2.4.0
-
cpe:2.3:a:openjsf:express:2.4.1
-
cpe:2.3:a:openjsf:express:2.4.2
-
cpe:2.3:a:openjsf:express:2.4.3
-
cpe:2.3:a:openjsf:express:2.4.4
-
cpe:2.3:a:openjsf:express:2.4.5
-
cpe:2.3:a:openjsf:express:2.4.7
-
cpe:2.3:a:openjsf:express:2.5.0
-
cpe:2.3:a:openjsf:express:2.5.1
-
cpe:2.3:a:openjsf:express:2.5.10
-
cpe:2.3:a:openjsf:express:2.5.11
-
cpe:2.3:a:openjsf:express:2.5.2
-
cpe:2.3:a:openjsf:express:2.5.3
-
cpe:2.3:a:openjsf:express:2.5.4
-
cpe:2.3:a:openjsf:express:2.5.9
-
cpe:2.3:a:openjsf:express:3.0.0
-
cpe:2.3:a:openjsf:express:3.0.1
-
cpe:2.3:a:openjsf:express:3.0.2
-
cpe:2.3:a:openjsf:express:3.0.3
-
cpe:2.3:a:openjsf:express:3.0.4
-
cpe:2.3:a:openjsf:express:3.0.5
-
cpe:2.3:a:openjsf:express:3.0.6
-
cpe:2.3:a:openjsf:express:3.1.0
-
cpe:2.3:a:openjsf:express:3.1.1
-
cpe:2.3:a:openjsf:express:3.1.2
-
cpe:2.3:a:openjsf:express:3.10.0
-
cpe:2.3:a:openjsf:express:3.10.1
-
cpe:2.3:a:openjsf:express:3.10.2
-
cpe:2.3:a:openjsf:express:3.10.3
-
cpe:2.3:a:openjsf:express:3.10.4
-
cpe:2.3:a:openjsf:express:3.10.5
-
cpe:2.3:a:openjsf:express:3.11.0
-
cpe:2.3:a:openjsf:express:3.12.0
-
cpe:2.3:a:openjsf:express:3.12.1
-
cpe:2.3:a:openjsf:express:3.13.0
-
cpe:2.3:a:openjsf:express:3.14.0
-
cpe:2.3:a:openjsf:express:3.15.0
-
cpe:2.3:a:openjsf:express:3.15.1
-
cpe:2.3:a:openjsf:express:3.15.2
-
cpe:2.3:a:openjsf:express:3.15.3
-
cpe:2.3:a:openjsf:express:3.16.0
-
cpe:2.3:a:openjsf:express:3.16.1
-
cpe:2.3:a:openjsf:express:3.16.10
-
cpe:2.3:a:openjsf:express:3.16.2
-
cpe:2.3:a:openjsf:express:3.16.3
-
cpe:2.3:a:openjsf:express:3.16.4
-
cpe:2.3:a:openjsf:express:3.16.5
-
cpe:2.3:a:openjsf:express:3.16.6
-
cpe:2.3:a:openjsf:express:3.16.7
-
cpe:2.3:a:openjsf:express:3.16.8
-
cpe:2.3:a:openjsf:express:3.16.9
-
cpe:2.3:a:openjsf:express:3.17.0
-
cpe:2.3:a:openjsf:express:3.17.1
-
cpe:2.3:a:openjsf:express:3.17.2
-
cpe:2.3:a:openjsf:express:3.17.3
-
cpe:2.3:a:openjsf:express:3.17.4
-
cpe:2.3:a:openjsf:express:3.17.5
-
cpe:2.3:a:openjsf:express:3.17.6
-
cpe:2.3:a:openjsf:express:3.17.7
-
cpe:2.3:a:openjsf:express:3.17.8
-
cpe:2.3:a:openjsf:express:3.18.0
-
cpe:2.3:a:openjsf:express:3.18.1
-
cpe:2.3:a:openjsf:express:3.18.2
-
cpe:2.3:a:openjsf:express:3.18.3
-
cpe:2.3:a:openjsf:express:3.18.4
-
cpe:2.3:a:openjsf:express:3.18.5
-
cpe:2.3:a:openjsf:express:3.18.6
-
cpe:2.3:a:openjsf:express:3.19.0
-
cpe:2.3:a:openjsf:express:3.19.1
-
cpe:2.3:a:openjsf:express:3.19.2
-
cpe:2.3:a:openjsf:express:3.2.0
-
cpe:2.3:a:openjsf:express:3.2.1
-
cpe:2.3:a:openjsf:express:3.2.2
-
cpe:2.3:a:openjsf:express:3.2.3
-
cpe:2.3:a:openjsf:express:3.2.4
-
cpe:2.3:a:openjsf:express:3.2.5
-
cpe:2.3:a:openjsf:express:3.2.6
-
cpe:2.3:a:openjsf:express:3.20.0
-
cpe:2.3:a:openjsf:express:3.20.1
-
cpe:2.3:a:openjsf:express:3.20.2
-
cpe:2.3:a:openjsf:express:3.20.3
-
cpe:2.3:a:openjsf:express:3.21.0
-
cpe:2.3:a:openjsf:express:3.21.1
-
cpe:2.3:a:openjsf:express:3.21.2
-
cpe:2.3:a:openjsf:express:3.3.0
-
cpe:2.3:a:openjsf:express:3.3.1
-
cpe:2.3:a:openjsf:express:3.3.2
-
cpe:2.3:a:openjsf:express:3.3.3
-
cpe:2.3:a:openjsf:express:3.3.4
-
cpe:2.3:a:openjsf:express:3.3.5
-
cpe:2.3:a:openjsf:express:3.3.6
-
cpe:2.3:a:openjsf:express:3.3.7
-
cpe:2.3:a:openjsf:express:3.3.8
-
cpe:2.3:a:openjsf:express:3.4.0
-
cpe:2.3:a:openjsf:express:3.4.1
-
cpe:2.3:a:openjsf:express:3.4.2
-
cpe:2.3:a:openjsf:express:3.4.3
-
cpe:2.3:a:openjsf:express:3.4.4
-
cpe:2.3:a:openjsf:express:3.4.5
-
cpe:2.3:a:openjsf:express:3.4.6
-
cpe:2.3:a:openjsf:express:3.4.7
-
cpe:2.3:a:openjsf:express:3.4.8
-
cpe:2.3:a:openjsf:express:3.5.0
-
cpe:2.3:a:openjsf:express:3.5.1
-
cpe:2.3:a:openjsf:express:3.5.2
-
cpe:2.3:a:openjsf:express:3.5.3
-
cpe:2.3:a:openjsf:express:3.6.0
-
cpe:2.3:a:openjsf:express:3.7.0
-
cpe:2.3:a:openjsf:express:3.8.0
-
cpe:2.3:a:openjsf:express:3.8.1
-
cpe:2.3:a:openjsf:express:3.9.0
-
cpe:2.3:a:openjsf:express:4.0.0
-
cpe:2.3:a:openjsf:express:4.1.0
-
cpe:2.3:a:openjsf:express:4.1.1
-
cpe:2.3:a:openjsf:express:4.1.2
-
cpe:2.3:a:openjsf:express:4.10.0
-
cpe:2.3:a:openjsf:express:4.10.1
-
cpe:2.3:a:openjsf:express:4.10.2
-
cpe:2.3:a:openjsf:express:4.10.3
-
cpe:2.3:a:openjsf:express:4.10.4
-
cpe:2.3:a:openjsf:express:4.10.5
-
cpe:2.3:a:openjsf:express:4.10.6
-
cpe:2.3:a:openjsf:express:4.10.7
-
cpe:2.3:a:openjsf:express:4.10.8
-
cpe:2.3:a:openjsf:express:4.11.0
-
cpe:2.3:a:openjsf:express:4.11.1
-
cpe:2.3:a:openjsf:express:4.11.2
-
cpe:2.3:a:openjsf:express:4.12.0
-
cpe:2.3:a:openjsf:express:4.12.1
-
cpe:2.3:a:openjsf:express:4.12.2
-
cpe:2.3:a:openjsf:express:4.12.3
-
cpe:2.3:a:openjsf:express:4.12.4
-
cpe:2.3:a:openjsf:express:4.13.0
-
cpe:2.3:a:openjsf:express:4.13.1
-
cpe:2.3:a:openjsf:express:4.13.2
-
cpe:2.3:a:openjsf:express:4.13.3
-
cpe:2.3:a:openjsf:express:4.13.4
-
cpe:2.3:a:openjsf:express:4.14.0
-
cpe:2.3:a:openjsf:express:4.14.1
-
cpe:2.3:a:openjsf:express:4.15.0
-
cpe:2.3:a:openjsf:express:4.15.1
-
cpe:2.3:a:openjsf:express:4.15.2
-
cpe:2.3:a:openjsf:express:4.15.3
-
cpe:2.3:a:openjsf:express:4.15.4
-
cpe:2.3:a:openjsf:express:4.15.5
-
cpe:2.3:a:openjsf:express:4.16.0
-
cpe:2.3:a:openjsf:express:4.16.1
-
cpe:2.3:a:openjsf:express:4.16.2
-
cpe:2.3:a:openjsf:express:4.16.3
-
cpe:2.3:a:openjsf:express:4.16.4
-
cpe:2.3:a:openjsf:express:4.17.0
-
cpe:2.3:a:openjsf:express:4.17.1
-
cpe:2.3:a:openjsf:express:4.17.2
-
cpe:2.3:a:openjsf:express:4.17.3
-
cpe:2.3:a:openjsf:express:4.18.0
-
cpe:2.3:a:openjsf:express:4.18.1
-
cpe:2.3:a:openjsf:express:4.18.2
-
cpe:2.3:a:openjsf:express:4.18.3
-
cpe:2.3:a:openjsf:express:4.19.0
-
cpe:2.3:a:openjsf:express:4.19.1
-
cpe:2.3:a:openjsf:express:4.2.0
-
cpe:2.3:a:openjsf:express:4.3.0
-
cpe:2.3:a:openjsf:express:4.3.1
-
cpe:2.3:a:openjsf:express:4.3.2
-
cpe:2.3:a:openjsf:express:4.4.0
-
cpe:2.3:a:openjsf:express:4.4.1
-
cpe:2.3:a:openjsf:express:4.4.2
-
cpe:2.3:a:openjsf:express:4.4.3
-
cpe:2.3:a:openjsf:express:4.4.4
-
cpe:2.3:a:openjsf:express:4.4.5
-
cpe:2.3:a:openjsf:express:4.5.0
-
cpe:2.3:a:openjsf:express:4.5.1
-
cpe:2.3:a:openjsf:express:4.6.0
-
cpe:2.3:a:openjsf:express:4.6.1
-
cpe:2.3:a:openjsf:express:4.7.0
-
cpe:2.3:a:openjsf:express:4.7.1
-
cpe:2.3:a:openjsf:express:4.7.2
-
cpe:2.3:a:openjsf:express:4.7.3
-
cpe:2.3:a:openjsf:express:4.7.4
-
cpe:2.3:a:openjsf:express:4.8.0
-
cpe:2.3:a:openjsf:express:4.8.1
-
cpe:2.3:a:openjsf:express:4.8.2
-
cpe:2.3:a:openjsf:express:4.8.3
-
cpe:2.3:a:openjsf:express:4.8.4
-
cpe:2.3:a:openjsf:express:4.8.5
-
cpe:2.3:a:openjsf:express:4.8.6
-
cpe:2.3:a:openjsf:express:4.8.7
-
cpe:2.3:a:openjsf:express:4.8.8
-
cpe:2.3:a:openjsf:express:4.9.0
-
cpe:2.3:a:openjsf:express:4.9.1
-
cpe:2.3:a:openjsf:express:4.9.2
-
cpe:2.3:a:openjsf:express:4.9.3
-
cpe:2.3:a:openjsf:express:4.9.4
-
cpe:2.3:a:openjsf:express:4.9.5
-
cpe:2.3:a:openjsf:express:4.9.6
-
cpe:2.3:a:openjsf:express:4.9.7
-
cpe:2.3:a:openjsf:express:4.9.8
-
cpe:2.3:a:openjsf:express:5.0.0