Skip to content

deps: bump @oclif/plugin-plugins to resolve picomatch and brace-expansion advisories#3694

Merged
tlowrimore-heroku merged 2 commits into
mainfrom
3pp/oclif-plugin-plugins-upgrade
May 7, 2026
Merged

deps: bump @oclif/plugin-plugins to resolve picomatch and brace-expansion advisories#3694
tlowrimore-heroku merged 2 commits into
mainfrom
3pp/oclif-plugin-plugins-upgrade

Conversation

@tlowrimore-heroku
Copy link
Copy Markdown
Contributor

Summary

Bumps @oclif/plugin-plugins from ^5.4.58 to ^5.4.64 to clear three open Dependabot advisories that share a common root cause: the previously-resolved @oclif/plugin-plugins@5.4.58 bundles npm@10.9.6, whose node-gyp/tinyglobby chain pinned picomatch@4.0.3 and whose bundled minimatch@9.0.9 pinned brace-expansion@2.0.2. The new version pulls npm@11.14.0, which transitively resolves all three packages to patched versions.

After this change:

  • picomatch4.0.4 (was 4.0.3)
  • brace-expansion5.0.5 on the affected chain (was 2.0.2)

No overrides are introduced — this is a same-major patch bump of a direct dependency.

Advisories closed

Risk notes

  • Bundled npm jumps 10.9.6 → 11.14.0; bundled node-gyp jumps 11.5.0 → 12.3.0. These are higher-major bumps, but they are bundled inside @oclif/plugin-plugins and only invoked when the CLI installs/updates user plugins.
  • npm@11 requires Node.js ^20.17.0 || >=22.9.0. Current engines.node already satisfies this.
  • All other picomatch / brace-expansion instances in the tree were already on patched versions; this PR only changes the one vulnerable subtree.

Test plan

  • npm install clean
  • npm ls picomatch --all shows only 4.0.4 and 2.3.2
  • npm ls brace-expansion --all shows no 2.0.2
  • npm run build succeeds
  • npm run lint succeeds (0 errors)
  • npm test passes (1955 passing)
  • Manual smoke test of plugin install/update flows: heroku plugins:install <plugin>, heroku plugins, heroku plugins:uninstall <plugin>

Pulls in npm@11.x via @oclif/plugin-plugins, which transitively
upgrades the bundled minimatch and node-gyp/tinyglobby chain so
brace-expansion resolves to 5.0.5 and picomatch resolves to 4.0.4.

- Resolves picomatch ReDoS via extglob (GHSA-c2c7-rcm5-vvqj, HIGH)
- Resolves picomatch POSIX-class injection (GHSA-3v7f-55p6-f55p)
- Resolves brace-expansion zero-step DoS (GHSA-f886-m6hf-6m8v)

Closes Dependabot alerts: #271, #272, #279
@tlowrimore-heroku tlowrimore-heroku marked this pull request as ready for review May 7, 2026 23:04
@tlowrimore-heroku tlowrimore-heroku requested a review from a team as a code owner May 7, 2026 23:04
Copy link
Copy Markdown

@jdodson jdodson left a comment

Choose a reason for hiding this comment

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

Approved.

@tlowrimore-heroku tlowrimore-heroku merged commit 70f6e7c into main May 7, 2026
17 checks passed
@tlowrimore-heroku tlowrimore-heroku deleted the 3pp/oclif-plugin-plugins-upgrade branch May 7, 2026 23:27
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.

2 participants