| Package | Affected versions | Patched versions |
|---|---|---|
| path-to-regexp | ≥ 8.0.0, < 8.4.0 | 8.4.0 |
| path-to-regexp | ≥ 8.0.0, < 8.4.0 | 8.4.0 |
When using multiple wildcards, combined with at least one parameter, a regular expression can be generated that is vulnerable to ReDoS. This backtracking vulnerability requires the second wildcard to be somewhere other than the end of the path.
Unsafe examples:
/*foo-*bar-:baz
/*a-:b-*c-:d
/x/*a-:b/*c/y
Safe examples:
/*foo-:bar
/*foo-:bar-*baz
Upgrade to version 8.4.0.
If developers are using multiple wildcard parameters, they can check the regex output with a tool such as https://makenowjust-labs.github.io/recheck/playground/ to confirm whether a path is vulnerable.
Running one of these products? Scan your site to see whether it exposes a vulnerable version.
Scan my site free