fix(deps): retarget four security overrides whose keys had gone inert - #869
Merged
Conversation
All four `name@<fixed` keys stopped matching when their advisories moved the fix floor above `fixed` — the exact failure mode the block's own CAUTION comment describes. pnpm reports nothing when this happens, and overrides-guard only proves a pin MOVED the tree, not that its floor still matches the current advisory, so the tree sat vulnerable behind a green guard. postcss 8.5.18 -> 8.5.23 (GHSA-fxqj-rqcc-2cmp) undici <7.28.0 -> <7.29.0 (5 advisories, 1 high) fast-uri <3.1.3 -> <3.1.5 (GHSA-7p8r-x3mc-p8w7, high) hono <4.12.27 -> <4.12.34 (GHSA-8j4g-w8fx-2239) Clears all 8 open Dependabot alerts. Reachability re-measured against the real deployed MCP bundle rather than carried forward: 648 inputs now (was 521), fast-uri 3, hono 0, undici 0, postcss 0.
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.
Clears all 8 open Dependabot alerts (2 high, 6 moderate). No Dependabot PR exists for these — every
one is a transitive dep governed by the
overridesblock, which Dependabot can't author a patchfor. The updater job ran and opened nothing.
Root cause: four pins had silently gone inert
Every one of these packages was already pinned. All four keys stopped matching when their
advisory moved the fix floor above the key's
fixed— the exact failure mode the block's own CAUTIONcomment describes:
undici@<7.28.0fast-uri@<3.1.3hono@<4.12.27postcss: 8.5.18(bare)pnpm reports nothing when a key goes inert, and
overrides-guardonly proves a pin moved thetree — it explicitly disclaims advisory drift ("Dependabot's job, not this guard's"). So the tree
sat vulnerable behind a green guard. Retargeted, not widened; each key still touches only its
vulnerable band.
Reachability — re-measured, not carried forward
The bundle census in the comment block was 521 inputs; it's 648 now, so the old numbers couldn't
be assumed forward. Re-run via
wrangler deploy -c apps/mcp/wrangler.jsonc --dry-run(3,295,870 bytes):authority introducer. Reached only as ajv's
uriResolverfor schema$id/$ref— re-verified:the sole call sites are
dist/compile/resolve.jsand thedist/core.jsdefault, and ajv-formats3.0.1 still implements
format: "uri"as a regex and never calls it. Request payloads never reachfast-uri's host parser, so the HIGH rating (which is about gating on a parsed host) doesn't carry
over.
^3.1.5is in-range for ajv's^3.0.1.path from the JSX advisories the earlier census covered. Resolves to 4.13.0, in-range for both the
SDK's
^4.11.4and@hono/node-server's^4.12.8.8.9.0, which is already at the 8.x fix floor — all five advisories list
>= 8.0.0, < 8.9.0 → 8.9.0. The<7.29.0key deliberately leaves the 8.x copy alone.The one pin that changes executed code
undici is the only one of the four that touches something we actually run, and it crosses an exact
declared version — miniflare pins
undici: 7.28.0, not a range. A bad outcome there surfaces as atest flake, not a build error, so it was verified rather than assumed: apps/engine (35 files / 460
tests) run 3x on each side — 460/460 passed all six times.
An
EnvironmentTeardownErrorappears in the log nondeterministically. A single A/B sample made itlook like the bump caused it (2 occurrences with, 0 without) — it doesn't. Three runs per side:
7.28.0 emitted it in 2 of 3 runs, 7.29.0 in 0 of 3. Pre-existing race, unrelated to this change.
Test plan
Full gate,
TURBO_FORCE=truethroughout:pnpm lint— 997/997 ·format:checkclean ·typecheck33/33 ·test29/29 ·build24/24pnpm no-skipped-tests— cleanpnpm overrides-guard— all 14 pins documented and moved; no copy below its floor across 1290 packagesdb:test