Skip to content

fix(deps): raise the brace-expansion floor to >=5.0.9 - #2501

Open
dcccrypto wants to merge 1 commit into
playgroundfrom
fix/brace-expansion-floor-5.0.9
Open

fix(deps): raise the brace-expansion floor to >=5.0.9#2501
dcccrypto wants to merge 1 commit into
playgroundfrom
fix/brace-expansion-floor-5.0.9

Conversation

@dcccrypto

@dcccrypto dcccrypto commented Aug 6, 2026

Copy link
Copy Markdown
Owner

Raise the brace-expansion override from >=5.0.7 <6 to >=5.0.9.

Why

pnpm audit --audit-level=high flags it on playground. The old range sits below
the patched floor of two advisories:

advisory vulnerable what
GHSA-mh99-v99m-4gvg >=4.0.0 <5.0.8 DoS via unbounded expansion length (OOM crash)
GHSA-rgw5-rvv9-x895 >=4.0.0 <5.0.9 DoS via unbounded intermediate arrays, bypassing the CVE-2026-14257 mitigation

>=5.0.9 clears both. Verified: brace-expansion no longer appears in the audit
output on this branch.

Dropping the <6 ceiling is deliberate — an upper bound on a security floor is
what silently re-exposes you the next time the floor moves, which is precisely
what happened here.

Scope — stated plainly, because the headline number does not change

This closes brace-expansion only. pnpm audit still exits 1 on this branch:
18 other high findings remain, across fast-uri, ip-address, next,
postcss, sharp, socket.io-parser and undici. They are pre-existing and
unrelated; bundling them into a one-line override bump would make this
unreviewable.

Why this accumulated — worth more attention than the fix

The audit gate exists:

# .github/workflows/test.yml:270
- name: Run security audit
  run: pnpm audit --audit-level=high

It lives in the security-tests job — one of the jobs that reports SKIPPED
on every PR, because it is gated on packages/*, which no longer exists on
playground. That is the same #2447 pattern I hit earlier with the app suite, but
this instance is sharper: the dependency audit is among the dead jobs, so 19
high advisories accumulated with the gate that would have caught them reporting
green.

I've filed that separately rather than expanding this PR — the remaining 18 want
individual assessment, and several (next, undici, sharp) are likely to need
real upgrades rather than overrides.

Related: percolator-indexer#193 fixes the same package in that repo, but a
different advisory — indexer was already at >=5.0.8 and needed only the newer
bypass fix, whereas this repo was below both floors.

Summary by CodeRabbit

  • Chores
    • Updated the brace-expansion version constraint to require a newer compatible release.

`pnpm audit --audit-level=high` flags brace-expansion on playground. The
override was `>=5.0.7 <6`, which sits below the patched floor of two
advisories:

  GHSA-mh99-v99m-4gvg  DoS via unbounded expansion length (OOM crash)
                       vulnerable >=4.0.0 <5.0.8
  GHSA-rgw5-rvv9-x895  DoS via unbounded intermediate arrays, bypassing
                       the CVE-2026-14257 mitigation
                       vulnerable >=4.0.0 <5.0.9

`>=5.0.9` clears both. Dropping the `<6` ceiling is deliberate: it is what
would silently re-expose this the next time the floor moves, which is
exactly what happened here.

Scope, stated plainly: this closes brace-expansion ONLY. `pnpm audit`
still exits 1 on this branch — 18 other high findings remain across
fast-uri, ip-address, next, postcss, sharp, socket.io-parser and undici.
Those are pre-existing, unrelated, and not bundled in here.

Same advisory class as percolator-indexer#193, though a different
advisory: indexer was already at >=5.0.8 and needed the newer bypass
fix, while this repo was below both floors.
@vercel

vercel Bot commented Aug 6, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
percolator-launch Ready Ready Preview Aug 6, 2026 7:09am
percolator-mainnet Ready Ready Preview Aug 6, 2026 7:09am
percolator-playground Ready Ready Preview Aug 6, 2026 7:09am

Request Review

@coderabbitai

coderabbitai Bot commented Aug 6, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: ba1be8de-3bd2-41e5-a0b4-5dcb7694e18d

📥 Commits

Reviewing files that changed from the base of the PR and between f2a3bbe and a758cf1.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (1)
  • package.json

📝 Walkthrough

Walkthrough

The pnpm override for brace-expansion now requires version 5.0.9 or newer.

Changes

Dependency override update

Layer / File(s) Summary
Update brace-expansion version constraint
package.json
The override changes from >=5.0.7 <6 to >=5.0.9.

Estimated code review effort: 1 (Trivial) | ~2 minutes

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the dependency override change from a developer perspective.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/brace-expansion-floor-5.0.9

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 ESLint

If the error stems from missing dependencies, add them to the package.json file. For unrecoverable errors (e.g., due to private dependencies), disable the tool in the CodeRabbit configuration.

package.json

Oops! Something went wrong! :(

ESLint: 8.57.1

TypeError: Cannot read properties of undefined (reading 'Intrinsic')
at Object. (/node_modules/.pnpm/ts-api-utils@1.4.3_typescript@7.0.2/node_modules/ts-api-utils/lib/index.cjs:779:57)
at Module._compile (node:internal/modules/cjs/loader:1830:14)
at Object..js (node:internal/modules/cjs/loader:1961:10)
at Module.load (node:internal/modules/cjs/loader:1553:32)
at Module._load (node:internal/modules/cjs/loader:1355:12)
at wrapModuleLoad (node:internal/modules/cjs/loader:255:19)
at Module.require (node:internal/modules/cjs/loader:1576:12)
at require (node:internal/modules/helpers:153:16)
at Object. (/node_modules/.pnpm/@typescript-eslint+type-utils@6.21.0_eslint@8.57.1_supports-color@7.2.0__supports-color@7.2.0_typescript@7.0.2/node_modules/@typescript-eslint/type-utils/dist/containsAllTypesByName.js:27:30)
at Module._compile (node:internal/modules/cjs/loader:1830:14)


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

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