Skip to content

fix(deps): pin nested fast-uri/immutable/uplot instances via npm overrides#30

Open
asachs01 wants to merge 1 commit into
mainfrom
security/npm-overrides-nested-instance-fix
Open

fix(deps): pin nested fast-uri/immutable/uplot instances via npm overrides#30
asachs01 wants to merge 1 commit into
mainfrom
security/npm-overrides-nested-instance-fix

Conversation

@asachs01

Copy link
Copy Markdown
Member

Summary

Security-remediation follow-up to the grouped Dependabot bump in #20, which resolved most flagged advisories but couldn't reach three nested dependency-tree instances (they're pinned internally by other packages' own dependency trees, not directly controllable by a top-level version bump). Adds targeted npm overrides for each:

  • fast-uri (GHSA-v39h-62p7-jpjc, GHSA-q3j6-qgpj-74h6): only instance in the tree was locked at 3.0.6. Override pins it to 3.1.2, satisfying both advisories.
  • immutable (GHSA-wf6x-7x77-mvgw): @grafana/runtime's own nested immutable was 5.0.3. Uses npm's nested override syntax, scoped to @grafana/runtime only, pinning it to 5.1.5. This deliberately does not touch the unrelated top-level 4.x immutable instance required by @grafana/ui@10.x (a different major version needed elsewhere) — forcing that one to 5.x could break whatever depends on 4.x. sass's own immutable@5.1.9 instance was already patched.
  • uplot (GHSA-34q8-jcq6-mc37): @grafana/data's and @grafana/runtime's own uplot instances were already on the patched 1.6.31. Only the top-level instance (1.6.30) was vulnerable, so a simple top-level override (1.6.31) is sufficient.

Verification

  • npm install regenerated package-lock.json with overrides applied.
  • Confirmed post-install: fast-uri and uplot each resolve to a single patched instance (3.1.2 / 1.6.31).
  • npm ls immutable confirms @grafana/runtime's tree resolves to 5.1.5 (marked "overridden"), while the unrelated @grafana/ui@10.x devDependency tree still resolves its own immutable@4.3.5 requirement, untouched by the override.
  • npm run lint — clean.
  • npm run typecheck — clean.
  • npm run build — compiles successfully.

Test plan

  • npm install completes without errors
  • fast-uri, nested @grafana/runtime immutable, and top-level uplot versions verified via npm ls / lockfile inspection
  • Unrelated top-level 4.x immutable instance confirmed unaffected
  • npm run lint passes
  • npm run typecheck passes
  • npm run build passes
  • CI green (pending)

Not merging — holding for explicit human approval per WYRE security process.

🤖 Generated with Claude Code

…rides

Grouped Dependabot bump (PR #20) resolved most flagged advisories but
missed three nested dependency-tree instances that aren't reachable by
a top-level version bump:

- fast-uri: single instance locked at 3.0.6, vulnerable to
  GHSA-v39h-62p7-jpjc and GHSA-q3j6-qgpj-74h6. Pinned to 3.1.2, which
  satisfies both advisories.
- immutable: @grafana/runtime's own nested immutable was 5.0.3,
  vulnerable to GHSA-wf6x-7x77-mvgw. Pinned via nested override syntax
  scoped to @grafana/runtime only (5.1.5), so the unrelated top-level
  4.x instance required by @grafana/ui@10.x (a different major,
  needed elsewhere) is left alone. sass's own immutable@5.1.9 instance
  was already patched.
- uplot: top-level instance was 1.6.30, vulnerable to
  GHSA-34q8-jcq6-mc37. @grafana/data's and @grafana/runtime's own
  uplot instances were already on the patched 1.6.31; only the
  top-level instance needed the pin.

Verified post-install: fast-uri and uplot each resolve to a single
patched instance; `npm ls immutable` confirms @grafana/runtime's tree
gets 5.1.5 (overridden) while the unrelated @grafana/ui@10.x tree
still resolves its own immutable@4.3.5 requirement untouched. Lint,
typecheck, and build all pass.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
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