CVE-2026-33672

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.
Configurations

Configuration 1 (hide)

OR cpe:2.3:a:jonschlinkert:picomatch:*:*:*:*:*:node.js:*:*
cpe:2.3:a:jonschlinkert:picomatch:*:*:*:*:*:node.js:*:*
cpe:2.3:a:jonschlinkert:picomatch:*:*:*:*:*:node.js:*:*

History

01 Apr 2026, 13:44

Type Values Removed Values Added
References () https://github.com/micromatch/picomatch/commit/4516eb521f13a46b2fe1a1d2c9ef6b20ddc0e903 - () https://github.com/micromatch/picomatch/commit/4516eb521f13a46b2fe1a1d2c9ef6b20ddc0e903 - Patch
References () https://github.com/micromatch/picomatch/security/advisories/GHSA-3v7f-55p6-f55p - () https://github.com/micromatch/picomatch/security/advisories/GHSA-3v7f-55p6-f55p - Patch, Vendor Advisory
CPE cpe:2.3:a:jonschlinkert:picomatch:*:*:*:*:*:node.js:*:*
First Time Jonschlinkert picomatch
Jonschlinkert

30 Mar 2026, 13:26

Type Values Removed Values Added
Summary
  • (es) Picomatch es un comparador de globs escrito en JavaScript. Las versiones anteriores a 4.0.4, 3.0.2 y 2.3.2 son vulnerables a una vulnerabilidad de inyección de métodos que afecta al objeto `POSIX_REGEX_SOURCE`. Debido a que el objeto hereda de `Object.prototype`, las expresiones de corchetes POSIX especialmente diseñadas (por ejemplo, '[[:constructor:]]') pueden hacer referencia a nombres de métodos heredados. Estos métodos se convierten implícitamente en cadenas y se inyectan en la expresión regular generada. Esto conduce a un comportamiento incorrecto de coincidencia de globs (impacto en la integridad), donde los patrones pueden coincidir con nombres de archivo no deseados. El problema no permite la ejecución remota de código, pero puede causar errores lógicos relevantes para la seguridad en aplicaciones que dependen de la coincidencia de globs para el filtrado, la validación o el control de acceso. Todos los usuarios de las versiones afectadas de `picomatch` que procesan patrones de glob no confiables o controlados por el usuario están potencialmente afectados. Este problema se corrige en picomatch 4.0.4, 3.0.2 y 2.3.2. Los usuarios deben actualizar a una de estas versiones o posteriores, dependiendo de su línea de lanzamiento compatible. Si la actualización no es posible de inmediato, evite pasar patrones de glob no confiables a picomatch. Las posibles mitigaciones incluyen sanear o rechazar patrones de glob no confiables, especialmente aquellos que contienen clases de caracteres POSIX como '[[:...:]]'; evitar el uso de expresiones de corchetes POSIX si hay entrada de usuario involucrada; y parchear manualmente la biblioteca modificando `POSIX_REGEX_SOURCE` para usar un prototipo nulo.

26 Mar 2026, 22:16

Type Values Removed Values Added
New CVE

Information

Published : 2026-03-26 22:16

Updated : 2026-04-01 13:44


NVD link : CVE-2026-33672

Mitre link : CVE-2026-33672

CVE.ORG link : CVE-2026-33672


JSON object : View

Products Affected

jonschlinkert

  • picomatch
CWE
CWE-1321

Improperly Controlled Modification of Object Prototype Attributes ('Prototype Pollution')