This repository was archived by the owner on Sep 2, 2026. It is now read-only.
Repository navigation
fix(deps): resolve qs and @babel/core advisories in web/ (no next/ts/eslint bump) - #34
Merged
Merged
Conversation
Lockfile-only (no package.json change), no next/typescript/eslint bump. - qs 6.15.1 -> 6.16.0 : GHSA-q8mj-m7cp-5q26 (moderate, DoS in stringify) via shadcn -> @modelcontextprotocol/sdk -> express -> qs - @babel/core 7.29.0 -> 7.29.7 : GHSA-4x5r-pxfx-6jf8 (low, arbitrary file read via sourceMappingURL) plus 14 @babel/* siblings pulled forward within ^7 npm audit: 9 (2 low, 2 moderate, 5 high) -> 7 (1 low, 1 moderate, 5 high) Remaining 7 stay deferred on purpose: - next / postcss / sharp -> need [email protected] (Dependabot #32, #28) - brace-expansion -> Dependabot #27 - ip-address / express-rate-limit -> Dependabot #26 - body-parser -> Dependabot #29 Verified: npm ci, npm run lint, npm run typecheck, npm run build all exit 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 subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
Summary
Lockfile-only remediation of the two
web/npm advisories that can be fixed without bumpingnext,typescript, oreslintand that are not already covered by the open Dependabot PRs (#32, #28, #29, #27, #26).web/package.jsonis unchanged. Onlyweb/package-lock.jsonmoves.What changed (lockfile only)
qsqs.stringifyDoS (moderate), viashadcn → @modelcontextprotocol/sdk → express → qs@babel/coresourceMappingURL(low), viashadcnandeslint-config-next → eslint-plugin-react-hooks@babel/*(14 transitive siblings:parser,traverse,types,generator,template,helpers,code-frame,compat-data,helper-*)^7range by the@babel/coreupdateside-channelApplied with
npm update qs @babel/core --package-lock-only(nopackage.jsonedit, no lockfile hand-editing, nonpm audit fix --force).Vulnerability status — all 9
qs(GHSA-q8mj-m7cp-5q26)qs6.15.1 → 6.16.0; in range ofexpress's^6.14.0@babel/core(GHSA-4x5r-pxfx-6jf8)@babel/core7.29.0 → 7.29.7; in range ofshadcn's^7.28.0next(aggregates postcss + sharp)[email protected] → 16.3.3. That is anextbump — explicitly out of scope here. PR #32 / #28postcss(4 advisories,<=8.5.22)8.5.10, via@tailwindcss/postcss/shadcn) and nestednext/node_modules/postcsspinned at8.4.31by[email protected]. Bumping the top-level copy alone does not clear the audit entry, and the nested pin cannot move without changingnext.[email protected]pins[email protected], which clears both copies at once. PR #32 / #28sharp(libvips CVE-2026-33327/33328/35590/35591)[email protected]is anoptionalDependencyofnextat^0.34.5; the fix needs0.35.x, outside that range. Forcing it viaoverrideswould swap a major version undernext's image optimiser.[email protected]moves tosharp@^0.35.3. PR #32 / #28brace-expansion(3 advisories,<=1.1.17 || 3.0.0–5.0.8)nextbump, but PR #27 already does exactly this lockfile bump (1.1.14→1.1.18, 5.0.5→5.0.9). Not duplicated.ip-address(GHSA-v2v4-37r5-5v8g, GHSA-mwp4-54f8-5fhr)ip-address10.1.0 → 10.7.0.express-rate-limit(8.0.1–8.5.0)ip-addresspin).body-parser(GHSA-v422-hmwv-36x6)Net: 9 → 7 vulnerabilities. Merging this PR together with #32 (or #28), #29, #27 and #26 takes
web/to zero.Verification (local, Node v26.7.0, npm 11.19.0)
npm ciinstall-scripts/allowScriptswarnings formsw,sharp,unrs-resolver)npm run linteslint-config-next16.3.1)npm run typecheck(tsc --noEmit)npm run buildnpm audit7 vulnerabilities (1 low, 1 moderate, 5 high, 0 critical)— down from9 (2 low, 2 moderate, 5 high, 0 critical)Constraint checks after the change, from
web/package.json:next16.2.11 (unchanged)typescript^5 (unchanged)eslint^9 (unchanged)web/package.jsondiff: noneNotes
npm audit fix --forcewas run.web/only and does not affect theTerraform (format, validate)CI job.