pillarjs/path-to-regexp · Security
path-to-regexp contains a ReDoS
- GHSA ID
- GHSA-rhx6-c78j-4q9w
- CVE ID
- CVE-2024-52798
- Severity
- high
- Published
- Updated
- CVSS
- 7.5 · CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
- CVSS v3
- 7.5 · CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
- CVSS v4
- 7.7 · CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:P
Description
Impact
The regular expression that is vulnerable to backtracking can be generated in versions before 0.1.12 of path-to-regexp, originally reported in CVE-2024-45296
Patches
Upgrade to 0.1.12.
Workarounds
Avoid using two parameters within a single path segment, when the separator is not . (e.g. no /:a-:b). Alternatively, you can define the regex used for both parameters and ensure they do not overlap to allow backtracking.
References
CWEs
- CWE-1333 · Inefficient Regular Expression Complexity
References
- https://github.com/pillarjs/path-to-regexp/security/advisories/GHSA-rhx6-c78j-4q9w ↗
- https://blakeembrey.com/posts/2024-09-web-redos ↗
- https://nvd.nist.gov/vuln/detail/CVE-2024-52798 ↗
- https://github.com/pillarjs/path-to-regexp/commit/f01c26a013b1889f0c217c643964513acf17f6a4 ↗
- https://security.netapp.com/advisory/ntap-20250124-0002 ↗
- https://github.com/advisories/GHSA-rhx6-c78j-4q9w ↗