Skip to content

Comments

chore: update dependency minimatch to v10.2.1 [security] - autoclosed#11460

Closed
renovate[bot] wants to merge 1 commit intomasterfrom
renovate/npm-minimatch-vulnerability
Closed

chore: update dependency minimatch to v10.2.1 [security] - autoclosed#11460
renovate[bot] wants to merge 1 commit intomasterfrom
renovate/npm-minimatch-vulnerability

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Feb 23, 2026

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
minimatch 10.1.210.2.1 age adoption passing confidence

GitHub Vulnerability Alerts

CVE-2026-26996

Summary

minimatch is vulnerable to Regular Expression Denial of Service (ReDoS) when a glob pattern contains many consecutive * wildcards followed by a literal character that doesn't appear in the test string. Each * compiles to a separate [^/]*? regex group, and when the match fails, V8's regex engine backtracks exponentially across all possible splits.

The time complexity is O(4^N) where N is the number of * characters. With N=15, a single minimatch() call takes ~2 seconds. With N=34, it hangs effectively forever.

Details

Give all details on the vulnerability. Pointing to the incriminated source code is very helpful for the maintainer.

PoC

When minimatch compiles a glob pattern, each * becomes [^/]*? in the generated regex. For a pattern like ***************X***:

/^(?!\.)[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?X[^/]*?[^/]*?[^/]*?$/

When the test string doesn't contain X, the regex engine must try every possible way to distribute the characters across all the [^/]*? groups before concluding no match exists. With N groups and M characters, this is O(C(N+M, N)) — exponential.

Impact

Any application that passes user-controlled strings to minimatch() as the pattern argument is vulnerable to DoS. This includes:

  • File search/filter UIs that accept glob patterns
  • .gitignore-style filtering with user-defined rules
  • Build tools that accept glob configuration
  • Any API that exposes glob matching to untrusted input

Release Notes

isaacs/minimatch (minimatch)

v10.2.1

Compare Source

v10.2.0

Compare Source

v10.1.3

Compare Source


Configuration

📅 Schedule: Branch creation - "" (UTC), Automerge - At any time (no schedule defined).

🚦 Automerge: Enabled.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
@renovate renovate bot requested a review from raymondfeng as a code owner February 23, 2026 08:52
@renovate renovate bot added dependencies Pull requests that update a dependency file SECURITY labels Feb 23, 2026
@renovate renovate bot changed the title chore: update dependency minimatch to v10.2.1 [security] chore: update dependency minimatch to v10.2.1 [security] - autoclosed Feb 23, 2026
@renovate renovate bot closed this Feb 23, 2026
@renovate renovate bot deleted the renovate/npm-minimatch-vulnerability branch February 23, 2026 13:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file SECURITY

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants