
Cloud Vulnerability DB
A community-led vulnerabilities database
CVE-2026-33672 is a method injection vulnerability in picomatch, a JavaScript glob matcher, affecting the POSIX_REGEX_SOURCE object. Because this object inherits from Object.prototype, specially crafted POSIX bracket expressions (e.g., [[:constructor:]]) can reference inherited method names, which are then injected into generated regular expressions, causing incorrect glob matching behavior. Affected versions include picomatch < 2.3.2, 3.0.0–3.0.1, and 4.0.0–4.0.3 for Node.js. The vulnerability was published on March 23, 2026, and carries a CVSS v3.1 base score of 5.3 (Medium) (GitHub Advisory). Downstream products from IBM and Microsoft are also affected (IBM Advisory, Microsoft MSRC).
The root cause is classified as CWE-1321 (Improperly Controlled Modification of Object Prototype Attributes / Prototype Pollution). The POSIX_REGEX_SOURCE object in picomatch's lib/constants.js was defined without a null prototype, meaning it inherits properties from Object.prototype such as constructor, toString, and __proto__. When a user-controlled POSIX bracket expression like [[:constructor:]] is processed, picomatch looks up the class name in POSIX_REGEX_SOURCE and retrieves the inherited constructor function, which is then coerced to a string and injected into the compiled regular expression. The fix, applied in commit 4516eb5, adds __proto__: null to the POSIX_REGEX_SOURCE object literal, severing the prototype chain (GitHub Commit, GitHub Advisory).
Exploitation causes incorrect glob matching behavior, where patterns may match unintended filenames or fail to match expected ones — an integrity impact with no confidentiality or availability loss. Applications that rely on picomatch for security-sensitive operations such as file access filtering, input validation, or access control are most at risk, as attackers could craft glob patterns that bypass these controls. Remote code execution is explicitly not possible through this vulnerability, but security-relevant logic errors could enable unauthorized file access or filter bypass in affected applications (GitHub Advisory).
There is no public proof-of-concept exploit and no evidence of in-the-wild exploitation as of the time of this report (GitHub Advisory). No threat actor attribution has been identified. The EPSS score is approximately 0.059% (19th percentile), indicating a low near-term exploitation probability. The vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog. Exploitation requires the ability to supply untrusted or user-controlled glob patterns to an application using a vulnerable picomatch version.
Object.prototype property, such as [[:constructor:]] or [[:toString:]].Function.prototype.constructor) is embedded into the compiled regex, causing the pattern to match unintended filenames or bypass intended filters.[[:constructor:]], [[:toString:]], or [[:__proto__:]].\[\[:[a-zA-Z_$][a-zA-Z0-9_$]*:\]\] that do not correspond to standard POSIX character classes (e.g., alnum, alpha, digit, space).Upgrade picomatch to version 2.3.2, 3.0.2, or 4.0.4 (or later), depending on the release line in use (GitHub Advisory). If an immediate upgrade is not possible, avoid passing untrusted or user-controlled glob patterns to picomatch. Additional workarounds include sanitizing or rejecting inputs containing POSIX character classes ([[:...]]), avoiding POSIX bracket expressions when user input is involved, and manually patching lib/constants.js by adding __proto__: null as the first property of the POSIX_REGEX_SOURCE object (GitHub Commit). IBM has issued advisories for multiple affected products including Watsonx BI Assistant, Application Modernization Accelerator, Process Mining, Guardium Data Security Center, and others, and users of those products should apply the relevant IBM interim fixes (IBM Advisory).
The vulnerability was discovered by researcher ByamB4 and remediated by danez and doowb from the picomatch maintainer team (GitHub Advisory). IBM issued multiple security bulletins across its product portfolio acknowledging the dependency on vulnerable picomatch versions, reflecting the broad reach of this supply chain issue. Microsoft also acknowledged the vulnerability in its Security Response Center for affected Azure Linux Node.js packages (Microsoft MSRC). No significant broader media coverage or notable community controversy has been identified.
Fix availability across major Linux distributions and their releases.
bookworm
node-anymatch
sid
node-anymatch: 3.1.3+~cs8.0.6-1
trixie
node-anymatch
bionic (esm-apps)
node-anymatch
devel
node-anymatch
focal (esm-apps)
node-anymatch
jammy
node-anymatch
jammy (esm-apps)
node-anymatch
noble
node-anymatch
noble (esm-apps)
node-anymatch
resolute
node-anymatch
Source: This report was generated using AI
Free Vulnerability Assessment
Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.
Get a personalized demo
"Best User Experience I have ever seen, provides full visibility to cloud workloads."
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
"We know that if Wiz identifies something as critical, it actually is."