Skip to content

fix(deps): Clear the browser SDK's dev-dependency advisories - #142

Merged
wolpert merged 2 commits into
mainfrom
fix/postcss-ghsa-r28c
Jul 29, 2026
Merged

fix(deps): Clear the browser SDK's dev-dependency advisories#142
wolpert merged 2 commits into
mainfrom
fix/postcss-ghsa-r28c

Conversation

@wolpert

@wolpert wolpert commented Jul 29, 2026

Copy link
Copy Markdown
Contributor

Closes Dependabot alert #10 and the three other advisories npm audit reports against clients/passkeys-browser.

All four are development-only, transitive dependencies — npm audit --omit=dev was already clean, and nothing here reaches published SDK output.

postcss — GHSA-r28c-9q8g-f849, high

Path traversal in source-map auto-loading: postcss ≤ 8.5.17 follows a sourceMappingURL comment without constraining the path, so a crafted stylesheet can disclose an arbitrary .map file from the build machine. Reached via tsup and via vite (through vitest).

Every dependent range (postcss-load-config >=8.0.9, tsup ^8.4.12, vite ^8.5.16) already admits the patched line, so npm update postcss fixes it as a lockfile-only change — 8.5.16 → 8.5.25, carrying nanoid 3.3.12 → 3.3.16.

The rest

Package Severity Fix
brace-expansion high — DoS via unbounded expansion (OOM) 5.0.7 → 5.0.8, in-range via npm audit fix
qs moderate — GHSA-q8mj-m7cp-5q26, qs.stringify crashes on null entries in comma-format arrays with encodeValuesOnly 6.15.1 → 6.15.3, needs an override (below)
typed-rest-client moderate inherits the qs advisory; clears with it

qs arrives through @stryker-mutator/coretyped-rest-client, which pins qs at an exact 6.15.1 — its latest 3.0.0 still does — so npm audit fix cannot move it. Hence a "qs": "^6.15.2" entry alongside the existing esbuild override; it resolves 6.15.3 and carries side-channel 1.1.0 → 1.1.1. Worth dropping once typed-rest-client picks up a patched qs.

Verification

npm audit reports no vulnerabilities. On a clean npm ci: 10 test files / 103 tests pass, npm run build produces ESM + CJS + d.ts, and Stryker still resolves (9.6.1).

🤖 Generated with Claude Code

wolpert and others added 2 commits July 29, 2026 07:26
postcss <= 8.5.17 auto-loads a previous source map from a sourceMappingURL
comment without constraining the path, so a crafted stylesheet can read an
arbitrary .map file off the build machine (GHSA-r28c-9q8g-f849, high).

postcss is a transitive development dependency of tsup and of vite (via
vitest), pinned at 8.5.16 in the lockfile. Every dependent range (>=8.0.9,
^8.4.12, ^8.5.16) already admits the patched line, so `npm update postcss`
resolves it as a lockfile-only change — no overrides pin and no package.json
edit needed. Carries postcss's own nanoid dependency from 3.3.12 to 3.3.16.

Verified: 10 test files / 103 tests pass and `npm run build` (tsup ESM + CJS +
d.ts) succeeds on the updated tree.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Three more advisories against the browser SDK's development tree, all
transitive and none reachable from published output:

- brace-expansion (high, DoS via unbounded expansion): 5.0.7 -> 5.0.8, resolved
  in-range by `npm audit fix`.
- qs (moderate, GHSA-q8mj-m7cp-5q26 — qs.stringify crashes on null entries in
  comma-format arrays when encodeValuesOnly is set): reached through
  @stryker-mutator/core -> typed-rest-client. typed-rest-client pins qs at an
  exact 6.15.1 (its latest 3.0.0 still does), so audit fix cannot move it — add
  a `qs: ^6.15.2` override alongside the existing esbuild one, which resolves
  6.15.3 and carries side-channel 1.1.0 -> 1.1.1. Drop the override once
  typed-rest-client picks up a patched qs.

`npm audit` is now clean. Verified on a clean `npm ci`: 10 test files / 103
tests pass, tsup builds ESM + CJS + d.ts, and Stryker still resolves.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@sonarqubecloud

Copy link
Copy Markdown

@wolpert
wolpert enabled auto-merge (rebase) July 29, 2026 14:31
@wolpert
wolpert merged commit 79258b4 into main Jul 29, 2026
8 checks passed
@wolpert
wolpert deleted the fix/postcss-ghsa-r28c branch July 29, 2026 14:32
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