Skip to content

fix(security): bump brace-expansion and fast-uri to remediate Veracode SCA flaws - #77

Merged
alexgomezlf merged 2 commits into
mainfrom
alex/fix-veracode-brace-expansion-fast-uri
Aug 13, 2026
Merged

fix(security): bump brace-expansion and fast-uri to remediate Veracode SCA flaws#77
alexgomezlf merged 2 commits into
mainfrom
alex/fix-veracode-brace-expansion-fast-uri

Conversation

@alexgomezlf

Copy link
Copy Markdown
Contributor

Summary

  • Bumps the brace-expansion pnpm override from ^2.1.3 to ^2.1.4, backporting the fix for incomplete maxLength bounding. The comma-alternative accumulator and padded-sequence generation are now bounded before combine() runs, closing an out-of-memory / event-loop-stall DoS a crafted brace pattern could still trigger on 2.1.3.
  • Bumps the fast-uri pnpm override from ^3.1.4 to ^3.1.5, fixing a backslash authority-delimiter parsing desync vs Node's WHATWG URL where backslash-based delimiters were folded into the path instead of being treated as the host delimiter, letting host-based allow/deny checks be bypassed.
  • Both stay within the major versions already required by minimatch/ajv (only devDependency consumers), so no consumer code changes were needed. Bumping brace-expansion straight to its 5.x latest was avoided deliberately: 5.x switched from a CJS default export to a named expand export, which breaks minimatch's require('brace-expansion') usage.

Test plan

  • pnpm install regenerates pnpm-lock.yaml with only the two target packages changed
  • pnpm build succeeds across all workspace packages
  • pnpm --filter @laserfiche/lf-js-utils test passes (368/368)
  • pnpm generate-docs (exercises typedoc -> minimatch -> brace-expansion) completes without error, confirming the CJS export shape still works

Generated with Claude Code

alexgomezlf and others added 2 commits August 13, 2026 09:39
…e SCA flaws

- brace-expansion 2.1.3 -> 2.1.4: backports the fix for incomplete
  maxLength bounding. The comma-alternative accumulator and padded-sequence
  generation are now bounded before combine() runs, closing an
  out-of-memory / event-loop-stall DoS that a crafted brace pattern could
  trigger even on the previously "fixed" 2.1.3.
- fast-uri 3.1.4 -> 3.1.5: fixes a backslash authority-delimiter parsing
  desync vs Node's WHATWG URL, where fast-uri treated "\\", "/\", "\/" as
  part of the path instead of the host, letting host-based allow/deny
  checks be bypassed by a URL Node itself would resolve to a different
  host.

Both stay within the major versions already required by minimatch/ajv, so
no downstream changes were needed. Verified via a full workspace build,
typedoc doc generation (exercises minimatch -> brace-expansion), and the
lf-js-utils unit suite (368/368 passing).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@alexgomezlf
alexgomezlf merged commit 1e643db into main Aug 13, 2026
10 checks passed
@alexgomezlf
alexgomezlf deleted the alex/fix-veracode-brace-expansion-fast-uri branch August 13, 2026 15:39
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