fix(deps): patch nanoid and brace-expansion advisories - #2285
Merged
Conversation
pnpm audit reported three high-severity transitive advisories that no open Dependabot PR covered: - nanoid < 3.3.17 (CVE-2026-67213): custom generators can loop indefinitely when size is non-integer. Reaches site/ and examples/browser/ via postcss. - brace-expansion < 2.1.3 (CVE-2026-14257) and < 2.1.4 (CVE-2026-69152): DoS via unbounded expansion length and unbounded intermediate arrays. Reaches crates/bashkit-js/ via minimatch. Both fixes are backported within the existing major, so these are patch-level bumps of transitive dependencies only: - site/: new nanoid ^3.3.17 override (resolves 3.3.16 -> 3.3.18) - examples/browser/: new pnpm.overrides block with nanoid ^3.3.17 - crates/bashkit-js/: brace-expansion override ^2.1.2 -> ^2.1.4 Lockfiles refreshed with each project's pinned pnpm (10.11.1 for site, 10.33.0 for bashkit-js and examples/browser); all stay at lockfileVersion 9.0 and pass --frozen-lockfile.
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
bashkit | e3fcc16 | Commit Preview URL Branch Preview URL |
Aug 09 2026, 09:17 AM |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changed
Clears the three open high-severity npm advisories in the repo's JavaScript
dependency trees. No runtime or API behavior changes — both fixes are
backported within the existing major, so this is a patch-level bump of
transitive dependencies plus the overrides that pin them.
nanoid^3.3.17override (3.3.16 → 3.3.18, via postcss)pnpm.overridesblock withnanoid^3.3.17(3.3.16 → 3.3.18, via postcss)
brace-expansionoverride^2.1.2→^2.1.4(2.1.2 → 2.1.4, via minimatch)
Lockfiles were refreshed with each project's pinned pnpm (10.11.1 for
site,10.33.0 for
bashkit-jsandexamples/browser); all remain atlockfileVersion 9.0.Why
pnpm auditreported three high-severity transitive advisories that no openDependabot PR covered:
site,examples/browser(postcss)crates/bashkit-js(minimatch)crates/bashkit-js(minimatch)nanoid: custom generators can loop indefinitely when
sizeis non-integer.brace-expansion: DoS via unbounded expansion length and unbounded intermediate
arrays (the second bypasses the first fix, hence 2.1.4 rather than 2.1.3).
Follows the override pattern established by #2284 (js-yaml).
Before / After
pnpm auditper package, before:After:
Verified locally:
pnpm install --frozen-lockfilepasses in all three touched projects (this iswhat CI runs, so the refreshed lockfiles are consistent with the manifests).
site:pnpm run buildcompletes — 40 pages built, and all 10 postbuildverifiers pass (doc routes, sitemap, robots, link headers, meta descriptions,
llms.txt).
examples/browser:vite buildsucceeds andnode --testpasses 9/9,including the "dependencies are reproducible" lockfile check.
cargo auditreports 0vulnerabilities over 633 crates (only the 3 pre-existing allowed warnings —
RUSTSEC-2023-0089, RUSTSEC-2026-0173, and yanked
spin0.9.8).crates/bashkit-jstype-check is left to CI, since it requires a full nativeNAPI build and
brace-expansiononly reaches dev tooling via minimatch.Risk
dependencies, reached only through postcss and minimatch. The plausible
failure mode is a lockfile inconsistency breaking
--frozen-lockfilein CI,which was checked directly in all three projects.
Checklist
examples/browserreproducibility test and the site postbuild verifiers cover the change
Generated by Claude Code