VDB

CVE-2026-33672

CVE-2026-33672 PUBLISHED CVSS 5.3 MEDIUM

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.

PackageEcosystemFixed in
picomatchnpm4.0.4, 3.0.2, 2.3.2
gitlab-rails-ce-fips-18.11Chainguard18.11.7-r1
rancher-api-uiChainguard1.2.3-r8
gitlab-rails-ce-fips-19.2Chainguard19.2.5-r2
gitlab-rails-ce-fips-19.1Chainguard19.1.7-r7, 19.1.1-r1
ts-patchWolfi4.0.1-r2
gitlab-rails-ce-19.1Chainguard19.1.2-r3
tileserver-gl-fipsChainguard5.5.0-r11
prismChainguard5.14.3-r13
gitlab-rails-ce-19.0Chainguard19.0.3-r1
kibana-9.3Chainguard9.3.5-r0, 9.3.3-r1
npmChainguard11.12.1-r0

66 more packages have a fixed version. See every fix in Lookup.

Risk scores

CVSS 3.1
5.3
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N

Affected products

VendorProductVersions
micromatchpicomatch>= 4.0.0, < 4.0.4, >= 3.0.0, < 3.0.2, < 2.3.2
chainguardgitlab-rails-ce-fips-18.110
chainguardrancher-api-ui0
chainguardgitlab-rails-ce-fips-19.20
chainguardgitlab-rails-ce-fips-19.10, 0
wolfits-patch0
chainguardgitlab-rails-ce-19.10
chainguardtileserver-gl-fips0
chainguardprism0
chainguardgitlab-rails-ce-19.00
chainguardkibana-9.30, 0
chainguardnpm0
wolfirancher-api-ui0
chainguardvitess-230
chainguarddrupal-11.30
chainguardarangodb-3.110
chainguardlerna0
chainguardgraalvm-250
wolfitileserver-gl0
chainguardkubeflow-pipelines0

…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

Look up in the Resolve Platform →
$ Lookup Community · 50/day Open Lookup ›