Skip to content

security: bump brace-expansion for GHSA-mh99-v99m-4gvg - #467

Open
bscanlan wants to merge 1 commit into
mainfrom
security/brace-expansion-ghsa-mh99-v99m-4gvg
Open

security: bump brace-expansion for GHSA-mh99-v99m-4gvg#467
bscanlan wants to merge 1 commit into
mainfrom
security/brace-expansion-ghsa-mh99-v99m-4gvg

Conversation

@bscanlan

Copy link
Copy Markdown
Member

Bumps the transitive brace-expansion dependency out of the range flagged by
GHSA-mh99-v99m-4gvg (CVE-2026-14257, High).

expand() caps how many results it produces but not how long they get, so a
few KB of chained brace groups is enough to exhaust memory and kill the Node
process. The OOM is fatal, so wrapping the call in try/catch does not help.
Anything that feeds attacker-influenced strings into brace patterns through
minimatch or glob can be crashed this way.

Lockfile only. brace-expansion is not a direct dependency here, and
minimatch (the only consumer) declares a caret range that the new version
already satisfies, so no manifest needed changing.

The versions here are 1.1.18 / 2.1.4 / 5.0.9, not the 1.1.17 / 2.1.3 / 5.0.8
this advisory names. The higher set clears the other brace-expansion advisories
that are open at the same time, and the dependency set is unchanged within each
major line either way.

Worth knowing if you are still on Node 18: brace-expansion raised its engines
floor to 20 || >=22 in 5.0.8, so any fix in the 5.x line brings that with it.
It warns rather than fails unless you run engine-strict.

To check nothing else moved, I stripped every brace-expansion entry out of the
old and new lockfiles and confirmed the remainder was byte-identical, then ran a
frozen-lockfile install to verify the integrity hashes against the registry.

Lockfile-only bump of the transitive brace-expansion dependency to clear
GHSA-mh99-v99m-4gvg (CVE-2026-14257, High): unbounded expansion length causes
an uncatchable OOM crash. Targets 1.1.18 / 2.1.4 / 5.0.9, which also clear the
sibling brace-expansion advisories open at the same time.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01A7XtZXJWpdNvW49CcERj8b
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