Skip to content

chore: Force minimatch 11 for GHSA-g3hv-75wg-m249 - #629

Merged
ecv merged 1 commit into
mainfrom
chore/minimatch-11
Nov 9, 2026
Merged

ecv merged 1 commit into
mainfrom
chore/minimatch-11

Conversation

@ecv

@ecv ecv commented Nov 6, 2026

Copy link
Copy Markdown
Contributor

Dependabot cannot fix minimatch GHSA-g3hv-75wg-m249 (medium, a crafted glob pattern can stall the process) in the consumer UI plugin, because the fix exists only in minimatch 11.0.1+ and its parent asks for ^10. This PR forces the fixed versions so the lock no longer carries a vulnerable minimatch.

What changes

  • ui/consumer/pnpm-workspace.yaml overrides gain minimatch 11.0.4 and glob 14.0.3; ui/consumer/pnpm-lock.yaml is regenerated with pnpm install --lockfile-only --ignore-scripts (pnpm 11.28.9, the pinned version).
  • glob moves too. glob 13 bundles its own copy of minimatch 10, so forcing minimatch alone would clear the alert but leave the vulnerable code running inside glob. glob 14 bundles minimatch 11.
  • Lock before: minimatch 10.2.6, glob 13.0.6. After: minimatch 11.0.4, glob 14.0.3. The rest of the diff is path-scurry 2.0.2 to 3.0.0 and the new @isaacs/nonrecursive-glob-match that glob 14 depends on.
  • ui/provider has no minimatch or glob in its lock and is untouched.

Evidence

  • Lock check: no minimatch below 11.0.1 and no glob below 14 remain. pnpm why shows a single path, @sentry/vite-plugin to @sentry/bundler-plugins to glob to minimatch (a dev dependency).
  • minimatch 11 removes makeRe, regexp, AST and matchOne. glob is the only consumer of minimatch in the tree and uses Minimatch#match and escape helpers. @sentry/bundler-plugins calls glob through glob.glob(), which glob 14 still exports.
  • pnpm run typecheck, pnpm test (353 of 353) and pnpm run build pass on the new lock.
  • minimatch 11.0.4 (2 Nov) and glob 14.0.3 (28 Oct) were published more than 7 days ago or fix a published advisory (advisory published 30 Oct 2026).

A crafted glob pattern can stall the process (medium). The fix exists
only in minimatch 11.0.1+, and every parent asks for ^10 or older, so
Dependabot cannot open a fix.

Pin minimatch to 11.0.4 and glob to 14.0.3 in the package manager
overrides. glob 13 bundles its own minimatch 10 copy, so forcing
minimatch alone would leave the vulnerable code running inside glob;
glob 14 bundles minimatch 11.

The lock no longer holds any minimatch below 11 or glob below 14. No
parent in the tree calls the APIs minimatch 11 removes (makeRe, regexp,
AST, matchOne).
@ecv
ecv requested a review from a team as a code owner November 6, 2026 15:25
@ecv
ecv requested a review from scotwells November 6, 2026 15:25
@ecv
ecv enabled auto-merge November 6, 2026 15:25
@ecv
ecv requested a review from andrewb3000 November 8, 2026 11:59
@ecv
ecv requested a review from savme November 9, 2026 16:55

@kevwilliams kevwilliams left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Verified the lock now resolves a single minimatch 11.0.4, with glob 14 depending on it, so no vulnerable copy remains.

@ecv
ecv merged commit d88a81c into main Nov 9, 2026
14 checks passed
@ecv
ecv deleted the chore/minimatch-11 branch November 9, 2026 19:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants