Impact:
A bad regular expression is generated any time you have three or more parameters within a single segment, separated by something that is not a period (.). For example, /:a-:b-:c or /:a-:b-:c-:d. The backtrack protection added in path-to-regexp@0.1.12 only prevents ambiguity for two parameters. With three or more, the generated lookahead does not block single separator characters, so capture groups overlap and cause catastrophic backtracking.
Patches:
Upgrade to path-to-regexp@0.1.13
Custom regex patterns in route definitions (e.g., /:a-:b([^-/]+)-:c([^-/]+)) are not affected because they override the default capture group.
Workarounds:
All versions can be patched by providing a custom regular expression for parameters after the first in a single segment. As long as the custom regular expression does not match the text before the parameter, you will be safe. For example, change /:a-:b-:c to /:a-:b([^-/]+)-:c([^-/]+).
If paths cannot be rewritten and versions cannot be upgraded, another alternative is to limit the URL length.
References
| Link | Resource |
|---|---|
| https://blakeembrey.com/posts/2024-09-web-redos | Technical Description |
| https://cna.openjsf.org/security-advisories.html | Third Party Advisory |
| https://github.com/advisories/GHSA-9wv6-86v2-598j | Not Applicable |
Configurations
History
16 Apr 2026, 18:01
| Type | Values Removed | Values Added |
|---|---|---|
| References | () https://blakeembrey.com/posts/2024-09-web-redos - Technical Description | |
| References | () https://cna.openjsf.org/security-advisories.html - Third Party Advisory | |
| References | () https://github.com/advisories/GHSA-9wv6-86v2-598j - Not Applicable | |
| First Time |
Pillarjs
Pillarjs path-to-regexp |
|
| CPE | cpe:2.3:a:pillarjs:path-to-regexp:*:*:*:*:*:node.js:*:* |
30 Mar 2026, 13:26
| Type | Values Removed | Values Added |
|---|---|---|
| Summary |
|
26 Mar 2026, 17:16
| Type | Values Removed | Values Added |
|---|---|---|
| New CVE |
Information
Published : 2026-03-26 17:16
Updated : 2026-04-16 18:01
NVD link : CVE-2026-4867
Mitre link : CVE-2026-4867
CVE.ORG link : CVE-2026-4867
JSON object : View
Products Affected
pillarjs
- path-to-regexp
CWE
CWE-1333
Inefficient Regular Expression Complexity
