CVE-2026-33671 Details
Description
Picomatch is a glob matcher written JavaScript. Versions prior to 4.0.4, 3.0.2, and 2.3.2 are vulnerable to Regular Expression Denial of Service (ReDoS) when processing crafted extglob patterns. Certain patterns using extglob quantifiers such as `+()` and `*()`, especially when combined with overlapping alternatives or nested extglobs, are compiled into regular expressions that can exhibit catastrophic backtracking on non-matching input. Applications are impacted when they allow untrusted users to supply glob patterns that are passed to `picomatch` for compilation or matching. In those cases, an attacker can cause excessive CPU consumption and block the Node.js event loop, resulting in a denial of service. Applications that only use trusted, developer-controlled glob patterns are much less likely to be exposed in a security-relevant way. This issue is fixed in picomatch 4.0.4, 3.0.2 and 2.3.2. Users should upgrade to one of these versions or later, depending on their supported release line. If upgrading is not immediately possible, avoid passing untrusted glob patterns to `picomatch`. Possible mitigations include disabling extglob support for untrusted patterns by using `noextglob: true`, rejecting or sanitizing patterns containing nested extglobs or extglob quantifiers such as `+()` and `*()`, enforcing strict allowlists for accepted pattern syntax, running matching in an isolated worker or separate process with time and resource limits, and applying application-level request throttling and input validation for any endpoint that accepts glob patterns.
A Regular Expression Denial-of-Service (ReDoS) vulnerability has been identified in Picomatch, a glob matcher for JavaScript. This issue affects versions 4.0.0 prior to 4.0.4, 3.0.0 prior to 3.0.2, and all versions prior to 2.3.2. The vulnerability arises when Picomatch processes crafted extglob patterns that include certain quantifiers, such as '+()' and '()*', particularly when these are nested or overlap. Such patterns can be transformed into regular expressions that cause catastrophic backtracking on non-matching inputs, leading to excessive CPU usage and blocking the Node.js event loop. Applications that allow untrusted users to supply glob patterns for Picomatch to process are at risk, while those using only trusted patterns are less likely to be affected.
Users are advised to upgrade to Picomatch versions 4.0.4, 3.0.2, or 2.3.2. If an immediate upgrade is not possible, it is recommended to avoid using untrusted glob patterns with Picomatch. Possible mitigations include disabling extglob support for untrusted patterns, sanitizing or rejecting patterns with nested extglobs or certain quantifiers, enforcing strict allowlists for accepted pattern syntax, and applying request throttling and input validation for endpoints that accept glob patterns.
Metrics
CVSS 4.0 Severity and Vector Strings:
No CVSS 4.0 data is available for this CVE.
CVSS 3.x Severity and Vector Strings:
No data available for CVSS Version 2.0 on this CVE.
CISA-ADP
Assessed Mar 27, 2026References to Advisories, Solutions, and Tools
By selecting these links, you will be leaving this site. These are references gathered from the official CVE record and are not endorsed by Volerion.
Weakness Enumeration
| CWE-ID | CWE Name | Source |
|---|---|---|
| CWE-1333 | Inefficient Regular Expression Complexity | [email protected] |
Affected Products
| Product | Versions |
|---|---|
| jonschlinkert picomatch | < 2.3.2 >= 3.0.0, < 3.0.2 >= 4.0.0, < 4.0.4 |
CPE
Remediation
| |
Change History
4 change records found show changes
| Date | Action | Recorded By |
|---|---|---|
| Jun 17, 2026 | CVE Modified | [email protected] |
| Jun 17, 2026 | CVE Modified | CISA-ADP |
| Apr 1, 2026 | Initial Analysis | [email protected] |
| Mar 26, 2026 | New CVE Received | [email protected] |