|
| 1 | +--- |
| 2 | +title: March 2026 Security Releases |
| 3 | +description: Security releases for path-to-regexp have been published. We recommend that all users upgrade as soon as possible. |
| 4 | +tags: security vulnerabilities |
| 5 | +authors: |
| 6 | + - name: Ulises Gascon |
| 7 | + github: UlisesGascon |
| 8 | +--- |
| 9 | + |
| 10 | +The Express team has released new patch versions of [path-to-regexp](https://www.npmjs.com/package/path-to-regexp) addressing three regular expression denial of service vulnerabilities. |
| 11 | + |
| 12 | +{% capture warning_content %} |
| 13 | +We recommend upgrading to the latest version of path-to-regexp to secure your applications. If you have a `package-lock.json`, you can update the dependency by running: |
| 14 | + |
| 15 | +```sh |
| 16 | +npm update path-to-regexp |
| 17 | +``` |
| 18 | +{% endcapture %} |
| 19 | +{% include admonitions/warning.html content=warning_content %} |
| 20 | + |
| 21 | +The following vulnerabilities have been addressed: |
| 22 | + |
| 23 | +- [CVE-2026-4867 in path-to-regexp utility module (High)](#cve-2026-4867-in-path-to-regexp-utility-module-high) |
| 24 | +- [CVE-2026-4926 in path-to-regexp utility module (High)](#cve-2026-4926-in-path-to-regexp-utility-module-high) |
| 25 | +- [CVE-2026-4923 in path-to-regexp utility module (Medium)](#cve-2026-4923-in-path-to-regexp-utility-module-medium) |
| 26 | + |
| 27 | +## CVE-2026-4867 in path-to-regexp utility module (High) |
| 28 | + |
| 29 | +**[path-to-regexp](https://www.npmjs.com/package/path-to-regexp) versions `<= 0.1.12` are vulnerable to regular expression denial of service via multiple route parameters** |
| 30 | + |
| 31 | +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`. The backtrack protection added in v0.1.12 only prevents ambiguity for two parameters. With three or more, the generated lookahead does not block single separator characters, causing catastrophic backtracking. |
| 32 | + |
| 33 | +**Affected versions**: `<= 0.1.12` |
| 34 | +**Patched version**: `>= 0.1.13` |
| 35 | + |
| 36 | +For more details, see [GHSA-37ch-88jc-xwx2](https://github.com/pillarjs/path-to-regexp/security/advisories/GHSA-37ch-88jc-xwx2). |
| 37 | + |
| 38 | +## CVE-2026-4926 in path-to-regexp utility module (High) |
| 39 | + |
| 40 | +**[path-to-regexp](https://www.npmjs.com/package/path-to-regexp) versions `>= 8.0.0` are vulnerable to denial of service via sequential optional groups** |
| 41 | + |
| 42 | +A bad regular expression is generated any time you have multiple sequential optional groups, such as `{a}{b}{c}:z`. The generated regex grows exponentially with the number of groups, causing denial of service. Avoid passing user-controlled input as route patterns. |
| 43 | + |
| 44 | +**Affected versions**: `>= 8.0.0` |
| 45 | +**Patched version**: `>= 8.4.0` |
| 46 | + |
| 47 | +For more details, see [GHSA-j3q9-mxjg-w52f](https://github.com/pillarjs/path-to-regexp/security/advisories/GHSA-j3q9-mxjg-w52f). |
| 48 | + |
| 49 | +## CVE-2026-4923 in path-to-regexp utility module (Medium) |
| 50 | + |
| 51 | +**[path-to-regexp](https://www.npmjs.com/package/path-to-regexp) versions `>= 8.0.0, <= 8.3.0` are vulnerable to regular expression denial of service via multiple wildcards** |
| 52 | + |
| 53 | +When using multiple wildcards combined with at least one parameter, a regular expression can be generated that is vulnerable to ReDoS. The second wildcard must be somewhere other than the end of the path. For example, `/*foo-*bar-:baz`. |
| 54 | + |
| 55 | +**Affected versions**: `>= 8.0.0, <= 8.3.0` |
| 56 | +**Patched version**: `>= 8.4.0` |
| 57 | + |
| 58 | +For more details, see [GHSA-27v5-c462-wpq7](https://github.com/pillarjs/path-to-regexp/security/advisories/GHSA-27v5-c462-wpq7). |
| 59 | + |
| 60 | +--- |
| 61 | + |
| 62 | +We recommend upgrading to the latest version of path-to-regexp to secure your applications. |
0 commit comments