Skip to content

Commit 2d4df3f

Browse files
blog: March 2026 security releases (#2226)
Co-authored-by: Sebastian Beltran <bjohansebas@gmail.com>
1 parent 3239931 commit 2d4df3f

File tree

1 file changed

+62
-0
lines changed

1 file changed

+62
-0
lines changed
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
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

Comments
 (0)