Skip to content

fix: update brace-expansion to patch GHSA-3jxr-9vmj-r5cp (exponential-time DoS) - #1599

Merged
HarithaVattikuti merged 4 commits into
mainfrom
copilot/update-bundled-brace-expansion
Jul 29, 2026
Merged

fix: update brace-expansion to patch GHSA-3jxr-9vmj-r5cp (exponential-time DoS)#1599
HarithaVattikuti merged 4 commits into
mainfrom
copilot/update-bundled-brace-expansion

Conversation

CopilotAI commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

This pull request primarily updates the brace-expansion npm dependency to version 5.0.8 and removes several legacy license metadata files for now-unused or replaced dependencies. The update ensures that only the latest version of brace-expansion is referenced and that the codebase is not cluttered with outdated license files.

Dependency updates:

  • Updated the brace-expansion npm package to version 5.0.8 by renaming the license file and adding an explicit override in package.json to ensure the correct version is used. [1][2]

License metadata cleanup:

  • Removed legacy license metadata files for brace-expansion@1.1.13, balanced-match@1.0.2, and concat-map@0.0.1, as these versions are no longer used in the project. [1][2][3]

…d dist
- brace-expansion 1.1.13 → 1.1.16 (GHSA-3jxr-9vmj-r5cp patched floor: 1.1.16)
- brace-expansion 2.1.1 → 2.1.2 (GHSA-3jxr-9vmj-r5cp patched floor: 2.1.2)
- brace-expansion 5.0.6 → 5.0.8 (GHSA-3jxr-9vmj-r5cp patched floor: 5.0.7; also fixes GHSA-mh99-v99m-4gvg)
- Regenerated package-lock.json
- Rebuilt dist/setup/index.js and dist/cache-save/index.js with patched dependency
Closes#1596
CopilotAI changed the title [WIP] Update bundled brace-expansion for GHSA-3jxr-9vmj-r5cpfix: update brace-expansion to patch GHSA-3jxr-9vmj-r5cp (exponential-time DoS)Jul 28, 2026
CopilotAI requested a review from priyagupta108July 28, 2026 09:54
…icense cache
## Basic validation CI fix
Add `overrides` in package.json to eliminate all brace-expansion 1.x and 2.x
from the dependency tree, resolving GHSA-mh99-v99m-4gvg for all packages:
- `"@actions/glob": "$@actions/glob"` - forces @actions/cache to use the
root @actions/glob@0.7.0 (minimatch@10.x → brace-expansion@5.0.8) instead
of its bundled @actions/glob@0.6.1 (minimatch@3.x → brace-expansion@1.x)
- `"glob": {"minimatch": "^10.2.5"}` - forces glob@10.x to use
minimatch@10.x → brace-expansion@5.0.8 instead of minimatch@9.x → brace-expansion@2.x
- `"test-exclude": "^7.0.2"` - upgrades test-exclude to a version that
natively uses minimatch@10.x (instead of @3.x), removing brace-expansion@1.x
from the jest coverage instrumentation path
`npm audit --audit-level=high` now reports 0 vulnerabilities.
## Licensed CI fix
Update .licenses/npm/ cache to match the new dependency tree:
- Add: brace-expansion-5.0.8.dep.yml
- Add: minimatch-10.2.6.dep.yml
- Remove stale: brace-expansion-1.1.13.dep.yml (already done in prev commit)
- Remove stale: brace-expansion-5.0.6.dep.yml (already done in prev commit)
- Remove stale: minimatch-3.1.5.dep.yml
- Remove stale: @actions/glob-0.6.1.dep.yml
- Remove stale: concat-map.dep.yml
- Remove stale: balanced-match-1.0.2.dep.yml
Rebuild dist artifacts to include updated brace-expansion.
@priyagupta108
priyagupta108 marked this pull request as ready for review July 28, 2026 11:08
@priyagupta108
priyagupta108 requested a review from a team as a code ownerJuly 28, 2026 11:08
CopilotAI review requested due to automatic review settings July 28, 2026 11:08

CopilotAI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

This PR aims to remediate GHSA-3jxr-9vmj-r5cp by updating brace-expansion versions used by the action (including the committed dist/ bundles) so the shipped JavaScript no longer contains vulnerable implementations.

Changes:

  • Added an npm overrides entry intended to force brace-expansion to a patched version.
  • Updated package-lock.json dependency resolution accordingly.
  • Updated tracked third-party license metadata under .licenses/ to match the new dependency set (and rebuilt dist/ artifacts per PR description).

Reviewed changes

Copilot reviewed 5 out of 9 changed files in this pull request and generated 1 comment.

Show a summary per file
FileDescription
package.jsonIntroduces an npm override to pin brace-expansion (currently forces all paths to 5.0.8).
package-lock.jsonUpdates the resolved dependency graph; currently results in only brace-expansion@5.0.8 being present.
dist/setup/index.jsRebuilt bundle; contains inlined balanced-match + brace-expansion module code.
dist/cache-save/index.jsRebuilt bundle; contains inlined balanced-match + brace-expansion module code.
.licenses/npm/concat-map.dep.ymlRemoves license metadata for concat-map (no longer in lock).
.licenses/npm/brace-expansion.dep.ymlUpdates license metadata version for brace-expansion to 5.0.8.
.licenses/npm/brace-expansion-1.1.13.dep.ymlRemoves license metadata for the prior brace-expansion@1.1.13.
.licenses/npm/balanced-match.dep.ymlAdds license metadata for balanced-match@4.0.4.
.licenses/npm/balanced-match-1.0.2.dep.ymlRemoves license metadata for the prior balanced-match@1.0.2.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment threadpackage.json
@HarithaVattikuti
HarithaVattikuti merged commit e51e5fe into mainJul 29, 2026
223 checks passed
@HarithaVattikuti
HarithaVattikuti deleted the copilot/update-bundled-brace-expansion branch July 29, 2026 18:04
gowridurgad pushed a commit to gowridurgad/setup-node that referenced this pull request Aug 11, 2026
…-time DoS) (actions#1599)
* Initial plan
* fix: update brace-expansion to address GHSA-3jxr-9vmj-r5cp and rebuild dist
- brace-expansion 1.1.13 → 1.1.16 (GHSA-3jxr-9vmj-r5cp patched floor: 1.1.16)
- brace-expansion 2.1.1 → 2.1.2 (GHSA-3jxr-9vmj-r5cp patched floor: 2.1.2)
- brace-expansion 5.0.6 → 5.0.8 (GHSA-3jxr-9vmj-r5cp patched floor: 5.0.7; also fixes GHSA-mh99-v99m-4gvg)
- Regenerated package-lock.json
- Rebuilt dist/setup/index.js and dist/cache-save/index.js with patched dependency
Closesactions#1596
* fix: eliminate remaining brace-expansion vulnerabilities and update license cache
## Basic validation CI fix
Add `overrides` in package.json to eliminate all brace-expansion 1.x and 2.x
from the dependency tree, resolving GHSA-mh99-v99m-4gvg for all packages:
- `"@actions/glob": "$@actions/glob"` - forces @actions/cache to use the
root @actions/glob@0.7.0 (minimatch@10.x → brace-expansion@5.0.8) instead
of its bundled @actions/glob@0.6.1 (minimatch@3.x → brace-expansion@1.x)
- `"glob": {"minimatch": "^10.2.5"}` - forces glob@10.x to use
minimatch@10.x → brace-expansion@5.0.8 instead of minimatch@9.x → brace-expansion@2.x
- `"test-exclude": "^7.0.2"` - upgrades test-exclude to a version that
natively uses minimatch@10.x (instead of @3.x), removing brace-expansion@1.x
from the jest coverage instrumentation path
`npm audit --audit-level=high` now reports 0 vulnerabilities.
## Licensed CI fix
Update .licenses/npm/ cache to match the new dependency tree:
- Add: brace-expansion-5.0.8.dep.yml
- Add: minimatch-10.2.6.dep.yml
- Remove stale: brace-expansion-1.1.13.dep.yml (already done in prev commit)
- Remove stale: brace-expansion-5.0.6.dep.yml (already done in prev commit)
- Remove stale: minimatch-3.1.5.dep.yml
- Remove stale: @actions/glob-0.6.1.dep.yml
- Remove stale: concat-map.dep.yml
- Remove stale: balanced-match-1.0.2.dep.yml
Rebuild dist artifacts to include updated brace-expansion.
* fix: replace brace-expansion workarounds with single override
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Sign up for freeto 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.

Update bundled brace-expansion for GHSA-3jxr-9vmj-r5cp

6 participants

@HarithaVattikuti@priya-kinthali@priyagupta108@pelonducks25-crypto