CVE-2026-33672
Picomatch: Method Injection in POSIX Character Classes causes incorrect Glob Matching
Reported by github_m · Published March 26, 2026
picomatch is fixed in 4.0.4, 3.0.2 and 2.3.2 (npm)
Picomatch is a glob matcher written JavaScript. Versions prior to 4.0.4, 3.0.2, and 2.3.2 are vulnerable to a method injection vulnerability affecting the `POSIX_REGEX_SOURCE` object. Because the object inherits from `Object.prototype`, specially crafted POSIX bracket expressions (e.g., `[[:constructor:]]`) can reference inherited method names. These methods are implicitly converted to strings and injected into the generated regular expression. This leads to incorrect glob matching behavior (integrity impact), where patterns may match unintended filenames. The issue does not enable remote code execution, but it can cause security-relevant logic errors in applications that rely on glob matching for filtering, validation, or access control. All users of affected `picomatch` versions that process untrusted or user-controlled glob patterns are potentially impacted. 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 sanitizing or rejecting untrusted glob patterns, especially those containing POSIX character classes like `[[:...:]]`; avoiding the use of POSIX bracket expressions if user input is involved; and manually patching the library by modifying `POSIX_REGEX_SOURCE` to use a null prototype.
Fixed versions
Upgrade to a fixed version or later. Language registries are listed first, then Linux distributions, then vendor products.
| Package | Ecosystem | Fixed in |
|---|---|---|
| picomatch | npm | 4.0.4, 3.0.2, 2.3.2 |
| gitlab-rails-ce-fips-18.11 | Chainguard | 18.11.7-r1 |
| rancher-api-ui | Chainguard | 1.2.3-r8 |
| gitlab-rails-ce-fips-19.2 | Chainguard | 19.2.5-r2 |
| gitlab-rails-ce-fips-19.1 | Chainguard | 19.1.7-r7, 19.1.1-r1 |
| ts-patch | Wolfi | 4.0.1-r2 |
| gitlab-rails-ce-19.1 | Chainguard | 19.1.2-r3 |
| tileserver-gl-fips | Chainguard | 5.5.0-r11 |
| prism | Chainguard | 5.14.3-r13 |
| gitlab-rails-ce-19.0 | Chainguard | 19.0.3-r1 |
| kibana-9.3 | Chainguard | 9.3.5-r0, 9.3.3-r1 |
| npm | Chainguard | 11.12.1-r0 |
66 more packages have a fixed version. See every fix in Lookup.
Risk scores
Affected products
| Vendor | Product | Versions |
|---|---|---|
| micromatch | picomatch | >= 4.0.0, < 4.0.4, >= 3.0.0, < 3.0.2, < 2.3.2 |
| chainguard | gitlab-rails-ce-fips-18.11 | 0 |
| chainguard | rancher-api-ui | 0 |
| chainguard | gitlab-rails-ce-fips-19.2 | 0 |
| chainguard | gitlab-rails-ce-fips-19.1 | 0, 0 |
| wolfi | ts-patch | 0 |
| chainguard | gitlab-rails-ce-19.1 | 0 |
| chainguard | tileserver-gl-fips | 0 |
| chainguard | prism | 0 |
| chainguard | gitlab-rails-ce-19.0 | 0 |
| chainguard | kibana-9.3 | 0, 0 |
| chainguard | npm | 0 |
| wolfi | rancher-api-ui | 0 |
| chainguard | vitess-23 | 0 |
| chainguard | drupal-11.3 | 0 |
| chainguard | arangodb-3.11 | 0 |
| chainguard | lerna | 0 |
| chainguard | graalvm-25 | 0 |
| wolfi | tileserver-gl | 0 |
| chainguard | kubeflow-pipelines | 0 |
…and 62 more
Timeline
- Mar 25, 2026 CVE Published
- Mar 26, 2026 Security Advisory
- May 18, 2026 EPSS Score (30 in total, the first dated here)
- May 30, 2026 Coalition ESS Score
Query this with the API
The same record, from the CLI:
vulnetix vdb vuln CVE-2026-33672
vulnetix vdb fixes CVE-2026-33672
Or with curl, using the org id and key from your account page:
curl -s -H "Authorization: ApiKey ${VULNETIX_ORG_ID}:${VULNETIX_API_KEY}" \
"https://api.vdb.vulnetix.com/v2/vuln/CVE-2026-33672/fixes/registry"
The Community plan is free and allows 50 queries a day. Get a free API key · API quickstart
References
- https://github.com/micromatch/picomatch/security/advisories/GHSA-3v7f-55p6-f55p x_refsource_CONFIRM
- https://github.com/micromatch/picomatch/commit/4516eb521f13a46b2fe1a1d2c9ef6b20ddc0e903 x_refsource_MISC
- https://nvd.nist.gov/vuln/detail/CVE-2026-33672 advisory
- https://github.com/advisories/GHSA-3v7f-55p6-f55p advisory
- https://github.com/micromatch/picomatch url