Instituto Nacional de ciberseguridad. Sección Incibe
Instituto Nacional de Ciberseguridad. Sección INCIBE-CERT

Vulnerabilidad en picomatch de micromatch (CVE-2026-33671)

Gravedad CVSS v3.1:
ALTA
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
26/03/2026
Última modificación:
26/03/2026

Descripción

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 la denegación de servicio por expresión regular (ReDoS) al procesar patrones extglob manipulados. Ciertos patrones que utilizan cuantificadores extglob como '+()' y '*()', especialmente cuando se combinan con alternativas superpuestas o extglobs anidados, se compilan en expresiones regulares que pueden exhibir un retroceso catastrófico en entradas no coincidentes. Las aplicaciones se ven afectadas cuando permiten a usuarios no confiables suministrar patrones glob que se pasan a 'picomatch' para su compilación o coincidencia. En esos casos, un atacante puede causar un consumo excesivo de CPU y bloquear el bucle de eventos de Node.js, lo que resulta en una denegación de servicio. Las aplicaciones que solo utilizan patrones glob confiables y controlados por el desarrollador son mucho menos propensas a estar expuestas de una manera relevante para la seguridad. 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 glob no confiables a 'picomatch'. Las posibles mitigaciones incluyen deshabilitar el soporte de extglob para patrones no confiables usando 'noextglob: true', rechazar o sanear patrones que contengan extglobs anidados o cuantificadores extglob como '+()' y '*()', aplicar listas de permitidos estrictas para la sintaxis de patrones aceptada, ejecutar la coincidencia en un trabajador aislado o proceso separado con límites de tiempo y recursos, y aplicar la limitación de solicitudes a nivel de aplicación y la validación de entrada para cualquier punto final que acepte patrones glob.