Skip to content

fix(security): bump brace-expansion for CVE-2026-14257 (#352, #353) - #836

Open
santoshkumarradha wants to merge 1 commit into
mainfrom
santosh/fix-brace-expansion-dos-4a9c
Open

fix(security): bump brace-expansion for CVE-2026-14257 (#352, #353)#836
santoshkumarradha wants to merge 1 commit into
mainfrom
santosh/fix-brace-expansion-dos-4a9c

Conversation

@santoshkumarradha

@santoshkumarradha santoshkumarradha commented Jul 29, 2026

Copy link
Copy Markdown
Member

Summary

Closes Dependabot alerts #352 (package-lock.json) and #353 (pnpm-lock.yaml) for CVE-2026-14257 — DoS via unbounded brace expansion length causing an OOM process crash.

Bump npm/pnpm overrides in control-plane/web/client and regenerate both lockfiles:

Range Before (vulnerable) After (patched)
brace-expansion@1 1.1.16 1.1.17
brace-expansion@2 2.1.2 2.1.3

Type of change

  • Bug fix
  • New feature
  • Refactor / cleanup
  • Docs only
  • Tests only
  • CI / tooling
  • Breaking change

Test plan

  • Confirm lockfiles resolve only brace-expansion@1.1.17 and 2.1.3
  • cd control-plane/web/client && npm ci && npm ls brace-expansion
  • cd control-plane/web/client && npm run build
  • cd control-plane/web/client && npm test (131 files / 683 tests passed)
  • CI green (coverage, functional tests, control-plane, CodeQL)

Test coverage

  • I ran tests for the surface(s) I changed locally.
  • New code paths are covered by tests in this PR (no bare additions). (dependency-only bump; no application code changes)
  • If I removed code, I updated coverage-baseline.json in this PR only if the removal caused a legitimate regression and I called it out in the summary above. (N/A)
  • The coverage gate check is green in CI before requesting review.

Checklist

Related issues / PRs

Open in Web Open in Cursor 

Resolve Dependabot alerts #352 and #353 (CVE-2026-14257 /
GHSA-mh99-v99m-4gvg) by pinning brace-expansion@1 to 1.1.17 and
brace-expansion@2 to 2.1.3 in npm/pnpm overrides and regenerating
both web client lockfiles.

Co-authored-by: Santosh kumar <santoshkumarradha@users.noreply.github.com>
@github-actions

Copy link
Copy Markdown
Contributor

📊 Coverage gate

Thresholds from .coverage-gate.toml: per-surface ≥ 84%, aggregate ≥ 85%, max per-surface regression ≤ 1.0 pp, max aggregate regression ≤ 0.50 pp.

Surface Current Baseline Δ
control-plane 86.80% 87.40% ↓ -0.60 pp 🟡
sdk-go 92.50% 92.00% ↑ +0.50 pp 🟢
sdk-python 93.82% 93.73% ↑ +0.09 pp 🟢
sdk-typescript 91.05% 90.42% ↑ +0.63 pp 🟢
web-ui 84.75% 84.79% ↓ -0.04 pp 🟡
aggregate 85.51% 85.75% ↓ -0.24 pp 🟡

✅ Gate passed

No surface regressed past the allowed threshold and the aggregate stayed above the floor.

@github-actions

Copy link
Copy Markdown
Contributor

📐 Patch coverage gate

Threshold: 80% on lines this PR touches vs origin/main (from .coverage-gate.toml:thresholds.min_patch).

Surface Touched lines Patch coverage Status
control-plane 0 ➖ no changes
sdk-go 0 ➖ no changes
sdk-python 0 ➖ no changes
sdk-typescript 0 ➖ no changes
web-ui 0 ➖ no changes

✅ Patch gate passed

Every surface whose lines were touched by this PR has patch coverage at or above the threshold.

@cursor
cursor Bot marked this pull request as ready for review July 29, 2026 21:20
@cursor
cursor Bot requested review from a team and AbirAbbas as code owners July 29, 2026 21:20
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