Skip to content

fix(deps): raise the brace-expansion override floor to 5.0.9 - #242

Merged
Musiker15 merged 1 commit into
mainfrom
fix/brace-expansion-509
Aug 17, 2026
Merged

fix(deps): raise the brace-expansion override floor to 5.0.9#242
Musiker15 merged 1 commit into
mainfrom
fix/brace-expansion-509

Conversation

@Musiker15

Copy link
Copy Markdown
Member

Closes the open high alert GHSA-rgw5-rvv9-x895 (brace-expansion DoS via unbounded intermediate arrays, bypassing the CVE-2026-14257 mitigation, first patched in 5.0.9).

What was wrong with the existing override

"brace-expansion@>=3.0.0 <5.0.8": ">=5.0.8"

It was written as a range around the previous advisory, so it looked settled while the new one flags everything below 5.0.9, 5.0.8 included. The tree actually carried two copies, 5.0.8 and 5.0.9, pulled in by minimatch 10.2.5 and 10.2.6 respectively.

Rewriting it as a plain floor against the newest advisory collapses that to a single 5.0.9. The rest of the lockfile diff is removals.

"brace-expansion@<5.0.9": ">=5.0.9"

The comment above it now spells out why the bound has that shape, since this is the third time this package has come around and the second time the floor was the thing that quietly aged out.

Verification

Same major, so none of the callable-export trouble that made the jump to 5.x awkward. Checked anyway, because these consumers sit under exceljs at runtime rather than in tooling: an xlsx write and read-back returns brace literals and umlauts unchanged (["Müller-Lüdenscheidt","Auswahl {a,b} mit Umlauten öäü"], 6526 bytes).

lint, typecheck and test pass locally.

GHSA-rgw5-rvv9-x895 is the third brace-expansion DoS advisory: unbounded
intermediate arrays, which bypasses the CVE-2026-14257 mitigation. It is
fixed in 5.0.9 and flags everything below that, including the 5.0.8 the
existing override pinned to.

The override was written as a range around the previous report
(>=3.0.0 <5.0.8), so it read as resolved while still allowing a flagged
version to install. Rewrite it as a plain floor against the newest advisory
instead, which is the shape that survives the next round.

The tree had both 5.0.8 and 5.0.9 installed, pulled in by minimatch 10.2.5
and 10.2.6. The lockfile change is otherwise removals: 5.0.9 is now the
single copy.

Same major, so no repeat of the callable-export break that made the jump to
5.x awkward. Verified anyway, since the consumers sit under exceljs at
runtime: an xlsx write/read roundtrip returns brace literals and umlauts
unchanged.
@Musiker15
Musiker15 force-pushed the fix/brace-expansion-509 branch from fee57dc to 46c238a Compare August 17, 2026 21:19
@Musiker15
Musiker15 merged commit 46f6b76 into main Aug 17, 2026
4 checks passed
@Musiker15
Musiker15 deleted the fix/brace-expansion-509 branch August 17, 2026 21:22
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.

1 participant