fix(deps): bump next to 15.5.21 to patch 8 disclosed advisories - #871
fix(deps): bump next to 15.5.21 to patch 8 disclosed advisories#871aeonframework wants to merge 1 commit into
Conversation
Also raises the postcss and js-yaml override floors to pick up their respective fixes (GHSA-r28c-9q8g-f849, GHSA-52cp-r559-cp3m). Advisories closed: GHSA-4633-3j49-mh5q, GHSA-4c39-4ccg-62r3, GHSA-68g3-v927-f742, GHSA-89xv-2m56-2m9x, GHSA-955p-x3mx-jcvp, GHSA-m99w-x7hq-7vfj, GHSA-p9j2-gv94-2wf4, GHSA-q8wf-6r8g-63ch Fixed in: next 15.5.21 (same minor line), postcss 8.5.18, js-yaml 4.3.0
|
PR author is not in the allowed authors list. |
There was a problem hiding this comment.
Looks safe to merge — no coupling regressions and no blocking issues, checked against the code graph (not a self-assessment).
Graphify reviewed this change.
Looks safe to merge — no coupling regressions and no blocking issues, checked against the code graph (not a self-assessment).
Graphify review — findings
This PR bumps frontend dependency versions, primarily upgrading next and eslint-config-next from 15.5.18 to 15.5.21, and raising the minimum postcss version. It updates both package.json and the corresponding entries in package-lock.json, which also pulls in transitive updates to packages like @next/* binaries, js-yaml, nanoid, and postcss. The surface area is limited to frontend dependency manifests and lockfile.
No blocking issues surfaced.
Analysis details — impact, health, verification
Impact & health
Graphify review
Impact — 66 functions depend on the 66 functions this change touches.
Health — grade A; no new coupling hotspots.
Verification — 66 functions in the blast radius were not formally verified this run (proofs are advisory here).
Gate & verification
graphify gate
PASS — objectively clean (no health regressions, tests not run — proofs not run this pass (advisory)). Grounded, not self-assessed.
Advisory (not blocking):
- verification_scope: 66 function(s) in the blast radius were not formally verified this run
|
Thanks a lot for this — and especially for the honest scoping section. You're right that the deployed router serves This one follows the repo's conventions, so no changes needed from my side. Verified locally on your head commit:
Two non-blocking notes, purely FYI:
Happy to take the |
Automated dependency bump addressing disclosed CVEs in the dashboard's build dependencies. Lockfile + manifest only, no source changes.
What this closes
frontend/package.jsonpinsnextexactly at15.5.18, which carries 8 published advisories. All 8 are fixed in 15.5.21 — same minor line, so this is a patch bump:The two existing
overridesentries are also raised to their fixed floors, since both currently resolve to still-vulnerable versions:postcss^8.5.10→^8.5.18(resolved 8.5.14 → 8.5.25) — GHSA-r28c-9q8g-f849, path traversal in source-map auto-loadingjs-yaml^4.2.0→^4.3.0(resolved 4.2.0 → 4.3.1) — GHSA-52cp-r559-cp3m, quadratic CPU on merge-key chainsThe
postcssdevDependency range is bumped in lockstep with its override because npm rejects an override that disagrees with a direct dependency (EOVERRIDE).Scope of impact — please read before prioritising
I want to be accurate rather than alarming: the deployed router is very likely not exposed to the Next.js server-side advisories above.
frontend/next.config.tssetsoutput: "export"andimages: { unoptimized: true }, and the Dockerfile copiesfrontend/outintoassets/uito be served as static files byregisterUIStaticininternal/server/server.go. There is no Next.js server at runtime, so Server Actions, rewrites, the image optimizer and the response cache are not reachable in production.What this bump does address is build- and development-time exposure:
next devruns a real Next.js server, and in dev modenext.config.tsenables a rewrite proxying/admin/:path*to the Go router — which is the configuration the rewrite-SSRF advisory concerns. Plus the usual supply-chain hygiene of not shipping a lockfile with 10 known-vulnerable resolutions.So: worth taking, low risk, but not an emergency. Downgrade the severity in your own triage as you see fit.
Verification
npm install --package-lock-onlythen re-scanned the lockfile with osv-scanner: 10 advisories closed (8 next + postcss + js-yaml).next@15.5.21via the OSV API, so this bump leaves no residual in that package.npm run buildpasses — static export completes, all 8 pages prerendered and exported.Not fully remediated by this PR
Two residuals remain in the lockfile, both dev-only and neither fixable by this change:
sharp@0.34.5— GHSA-f88m-g3jw-g9cj, fixed in 0.35.0.next@15.5.21pins^0.34.5, so 0.35.0 is outside the range and npm resolves straight back. Needs anextmajor, out of scope here. It is an optional build-time dependency and unused at runtime givenimages.unoptimized.brace-expansion(1.1.14 and 5.0.5, underminimatchvia eslint) — ReDoS (GHSA-3jxr-9vmj-r5cp, GHSA-mh99-v99m-4gvg, GHSA-jxxr-4gwj-5jf2). Both fixes are already in range of their parents (^1.1.7→ 1.1.17,^5.0.5→ 5.0.8), so a plainnpm update brace-expansioncloses all three with no manifest change. I left it out to keep this diff reviewable — happy to fold it in if you'd prefer one PR.Detected by osv-scanner. No code changes outside the manifest and lockfile.
Filed by Aeon.