Skip to content

fix: bump brace-expansion + picomatch to patched versions (S360 CVEs)#1399

Merged
jbujula merged 1 commit into
mainfrom
users/jbujula/s360-brace-expansion-cves
Jun 8, 2026
Merged

fix: bump brace-expansion + picomatch to patched versions (S360 CVEs)#1399
jbujula merged 1 commit into
mainfrom
users/jbujula/s360-brace-expansion-cves

Conversation

@jbujula

@jbujula jbujula commented Jun 8, 2026

Copy link
Copy Markdown
Collaborator

Summary

Closes 4 PPBT S360 work items on KPI 240c2bea-0698-48c7-8e78-f9beac31a861 (BIC Component Governance - Low/Medium action items):

ADO Package S360 target This PR
AB#6364952 brace-expansion 1.1.12 1.1.13 (CVE-2026-33750) 1.1.15
AB#6364953 brace-expansion 2.0.2 2.0.3 (CVE-2026-33750) 2.0.3
AB#6364954 picomatch 2.3.1 2.3.2 (CVE-2026-33672) 2.3.2
AB#6364955 brace-expansion 5.0.4 5.0.5 (CVE-2026-33750) 5.0.6

Bonus coverage on AB#6408700 (brace-expansion 5.0.4 → 5.0.6, CVE-2026-45149) — same 5.x paths.

Mechanism

package.json overrides

  • Existing brace-expansion: "^2.0.3" direct dep fixes the hoisted root 2.x.
  • Added "minimatch": { "brace-expansion": "^5.0.6" } — overrides every minimatch's brace-expansion to ≥5.0.6, fixing glob, mocha, readdir-glob, tfx-cli.

Lock-file patches for inBundle: true paths

npm overrides do not reach packages marked inBundle: true (memory: dependency hard rules). Manually updated:

  • node_modules/@microsoft/powerplatform-cli-wrapper/node_modules/brace-expansion: 5.0.4 → 5.0.6
  • node_modules/minimatch/node_modules/brace-expansion (azure-pipelines-task-lib bundled): 1.1.12 → 1.1.15
  • node_modules/picomatch (inBundle=true): 2.3.1 → 2.3.2

Each patch includes the npm-published `integrity` hash.

Result

All brace-expansion entries in `package-lock.json`:

  • 1.1.15 (was 1.1.12)
  • 2.0.3 (was 2.0.2)
  • 5.0.6 (was 5.0.4, 4 paths)

All picomatch entries:

  • 2.3.2 (was 2.3.1, inBundle path)
  • 4.0.3 (already current, unchanged)

Test plan

  • `npm audit` no longer reports brace-expansion or picomatch findings
  • compile + lint + restore (pac CLI 2.7.4) pass
  • CI on PR — full pipeline including unit tests on Node 20 (local Node 24 has a pre-existing ts-strip incompatibility unrelated to this change)

Not in this PR

  • AB#6420216 (uuid 3.4.0 → 11.1.1, CVE-2026-41907): area path is Deployment Hub\Admin, routed to a different team's queue.

🤖 Generated with Claude Code

Closes 4 PPBT S360 work items on KPI 240c2bea (BIC Component Governance):
- ADO #6364952 brace-expansion 1.1.12 -> 1.1.15 (target 1.1.13, CVE-2026-33750)
- ADO #6364953 brace-expansion 2.0.2 -> 2.0.3 (CVE-2026-33750)
- ADO #6364954 picomatch 2.3.1 -> 2.3.2 (CVE-2026-33672)
- ADO #6364955 brace-expansion 5.0.4 -> 5.0.6 (target 5.0.5, CVE-2026-33750)
- ADO #6408700 brace-expansion 5.0.4 -> 5.0.6 (CVE-2026-45149, same package paths)

Mechanism:
- package.json overrides: minimatch -> brace-expansion ^5.0.6 (handles 5.x paths
  in cli-wrapper, tfx-cli, glob, mocha, readdir-glob).
- package.json existing brace-expansion dep at ^2.0.3 (handles root 2.x hoist).
- Lock-file patches for inBundle: true paths that npm overrides cannot reach:
    - @microsoft/powerplatform-cli-wrapper bundled brace-expansion 5.0.4 -> 5.0.6
    - azure-pipelines-task-lib bundled minimatch@3.x's brace-expansion 1.1.12 -> 1.1.15
    - hoisted picomatch (inBundle=true) 2.3.1 -> 2.3.2

Verification:
- npm audit no longer reports brace-expansion or picomatch findings
- compile + lint + pac CLI 2.7.4 restore pass
- Pre-existing Node 24 unit-test ts-strip incompatibility is unrelated to this change
@jbujula jbujula merged commit 47ef00a into main Jun 8, 2026
5 checks passed
@jbujula jbujula deleted the users/jbujula/s360-brace-expansion-cves branch June 8, 2026 23:35
jbujula added a commit that referenced this pull request Jun 8, 2026
…ceeds (#1403)

The official build pipeline now creates a published GitHub Release automatically
on successful run (PR #1399's tooling change). Update both skills so contributors
know to look for the release at /releases/tag/v<version> after their PR ships:

- create-pr SKILL.md: Step 4 prompt now mentions the auto-release URL and what to
  do if it doesn't appear (token scope / SSO check).
- pac-cli-update SKILL.md: Step 9 final summary now includes the same guidance.
jbujula added a commit that referenced this pull request Jun 8, 2026
…ceeds (#1402)

The official build pipeline now creates a published GitHub Release automatically
on successful run (PR #1399's tooling change). Update both skills so contributors
know to look for the release at /releases/tag/v<version> after their PR ships:

- create-pr SKILL.md: Step 4 prompt now mentions the auto-release URL and what to
  do if it doesn't appear (token scope / SSO check).
- pac-cli-update SKILL.md: Step 9 final summary now includes the same guidance.
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