LiveActive security incident?Get immediate response
CVE Record

CVE-2026-27903: minimatch has a ReDoS: matchOne() combinatorial backtracking via multiple non-adjacent GLOBSTAR segments

minimatch is a minimal matching utility for converting glob expressions into JavaScript RegExp objects. Prior to version 10.2.3, 9.0.7, 8.0.6, 7.4.8, 6.2.2, 5.1.8, 4.2.5, and 3.1.3, `matchOne()` performs unbounded recursive backtracking when a glob pattern contains multiple non-adjacent `**` (GLOBSTAR) segments and the input path does not match. The time complexity is O(C(n, k)) -- binomial -- where `n` is the number of path segments and `k` is the number of globstars. With k=11 and n=30, a call to the default `minimatch()` API stalls for roughly 5 seconds. With k=13, it exceeds 15 seconds. No memoization or call budget exists to bound this behavior. Any application where an attacker can influence the glob pattern passed to `minimatch()` is vulnerable. The realistic attack surface includes build tools and task runners that accept user-supplied glob arguments (ESLint, Webpack, Rollup config), multi-tenant systems where one tenant configures glob-based rules that run in a shared process, admin or developer interfaces that accept ignore-rule or filter configuration as globs, and CI/CD pipelines that evaluate user-submitted config files containing glob patterns. An attacker who can place a crafted pattern into any of these paths can stall the Node.js event loop for tens of seconds per invocation. The pattern is 56 bytes for a 5-second stall and does not require authentication in contexts where pattern input is part of the feature. Versions 10.2.3, 9.0.7, 8.0.6, 7.4.8, 6.2.2, 5.1.8, 4.2.5, and 3.1.3 fix the issue.

HighCVSS 7.5Not KEV-listedUpdated
Glexia's TakeAutomated analysishigh

Security readout for executives and security teams

Plain-English summary

CVE-2026-27903 is a denial-of-service flaw in the Node.js minimatch package. If an attacker can supply glob patterns processed by an affected version, a small crafted pattern can stall the JavaScript event loop for seconds, disrupting services or CI jobs. The issue is fixed in multiple maintained release lines.

Executive priority

Treat as a high-priority availability issue where untrusted users can influence build, configuration, or filtering patterns. Patch exposed Node.js services and CI systems promptly. Lower priority for internal-only uses with fixed trusted patterns.

Technical view

Affected minimatch versions perform unbounded recursive backtracking in matchOne() when patterns contain multiple non-adjacent GLOBSTAR segments and the path does not match. The advisory describes binomial time complexity and no memoization or call budget. Impact is availability only under the published CVSS vector.

Likely exposure

Exposure is likely in Node.js applications, build tooling, CI/CD pipelines, task runners, or multi-tenant services that pass user-controlled glob patterns into minimatch. Systems using minimatch only with trusted, static patterns have lower practical risk.

Exploitation context

The source bundle does not indicate known active exploitation, and KEV is false. Exploitation requires attacker influence over the glob pattern evaluated by minimatch. Public sources describe event-loop stalls lasting seconds to tens of seconds per invocation.

Researcher notes

The reported weakness is CWE-407 algorithmic complexity. The key triage question is pattern control, not just package presence. Validate dependency versions and whether minimatch() receives tenant, repository, admin, developer, or request-controlled glob input.

Mitigation direction

  • Upgrade minimatch to 10.2.3, 9.0.7, 8.0.6, 7.4.8, 6.2.2, 5.1.8, 4.2.5, or 3.1.3.
  • Prioritize services where untrusted users can submit glob, ignore-rule, filter, or build configuration patterns.
  • Restrict or validate user-supplied glob patterns until upgrades are deployed.
  • Review vendor advisory and package manager dependency resolution for transitive minimatch copies.

Validation and detection

  • Inventory direct and transitive minimatch versions in Node.js projects.
  • Confirm no deployed dependency falls within the affected version ranges.
  • Identify code paths that pass user-controlled patterns to minimatch.
  • Check CI/CD and developer tooling for user-submitted configuration using glob patterns.
  • After upgrade, verify resolved package versions match the fixed release lines.
Prepared
Confidence
high
Sources
3

Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.

Potential ATT&CK relevance

Conservative CVE-to-ATT&CK context

These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.

ATT&CK lookup starting points

Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.

cwe · low confidence lookup

CWE-407: Exact CWE lookup

Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.

Open ATT&CK lookup
cve · low confidence lookup

CVE-2026-27903 mapping review

Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.

Open ATT&CK lookup
Vulnerability profileCVE Program record
Severity
High
CVSS
7.5 (3.1)
Known Exploited
No
Published

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

Official CVE source material

CNA and ADP enrichment extracted from CVE v5

These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.

1CVSS vectors
0Timeline events
0ADP providers
2Source links

CVSS vector scores

1 official score

We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.

ScoreVersionSeverityVectorExploitImpactSource
7.5CVSS 3.1HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H3.93.6Primary CVE score

Vulnerability scoring details

Base CVSS 3.1 score

7.5High
CVSS 3.1 vector shape for CVE-2026-27903Attack VectorAttack ComplexityPrivileges RequiredUser InteractionScopeConfidentiality ImpactIntegrity ImpactAvailability Impact

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

Attack Vector
NetworkAdjacentLocalPhysical
Attack Complexity
LowHigh
Privileges Required
NoneLowHigh
User Interaction
NoneRequired
Scope
ChangedUnchanged
Confidentiality Impact
HighLowNone
Integrity Impact
HighLowNone
Availability Impact
HighLowNone

Source materials

Affected products

Products and packages named in the record

VendorProductVersion / packageStatus
isaacsminimatch>= 10.0.0, < 10.2.3, >= 9.0.0, < 9.0.7, >= 8.0.0, < 8.0.6, >= 7.0.0, < 7.4.8, >= 6.0.0, < 6.2.2, >= 5.0.0, < 5.1.8, >= 4.0.0, < 4.2.5, < 3.1.3Listed
Weakness

CWE details

CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.

CWE-407 · source CWE mapping

Inefficient Algorithmic Complexity

Inefficient Algorithmic Complexity represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.