chore(security): fix nanoid, postcss, unhead advisories in ui/package-lock.json - #40
Open
benfrank241 wants to merge 1 commit into
Open
Conversation
Resolves 4 of the 6 advisories reported by `npm audit` in `ui/`. All three are in-range re-resolves: no `package.json` change and no `overrides` entry is required. nanoid 3.3.11 -> 3.3.18 GHSA-28wg-ghj8-5hjv, GHSA-2v37-7h3g-55p8 postcss 8.5.8 -> 8.5.26 GHSA-qx2v-qp2m-jg93, GHSA-6g55-p6wh-862q, GHSA-fxqj-rqcc-2cmp, GHSA-r28c-9q8g-f849 unhead } 2.1.12 -> 2.1.17 GHSA-95h2-gj7x-gx9w @unhead/vue } The remaining vite/esbuild pair is NOT addressed here: it needs a major-version bump of vite and is tracked in the backlog issue. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
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.
Daily security sweep —
ui/npm bundle.Fixes 4 of the 6 advisories
npm auditreports forui/package-lock.json. Lockfile-only:ui/package.jsonis unchanged. All three packages had a fixed version already inside the ranges the existing manifest declares, so no direct bump and nooverridesentry was needed.Advisories fixed
nanoidpostcss)postcssvite)unhead@unhead/vue)@unhead/vue^2.1.12)unhead)3 high (
nanoid,postcss) and 1 moderate (unhead/@unhead/vue) resolved.hookable6.1.0 → 6.1.1 comes along as@unhead/vue's own in-range dependency.Why no manifest change was needed:
postcss8.5.26 satisfiesvite@5.4.21's declaredpostcss: ^8.4.43.nanoid3.3.18 satisfiespostcss@8.5.26's declarednanoid: ^3.3.17.@unhead/vue2.1.17 satisfies the manifest's declared^2.1.12, and@unhead/vuepinsunheadexactly, sounheadmoves with it.Not fixed here —
vite/esbuild(deliberately excluded)npm audit's only offered fix for this pair isnpm audit fix --force, which installsvite@8.2.2— three major versions up. This sweep does not force resolves, so the pair is left alone and tracked in #39 instead:esbuild<= 0.24.2 — GHSA-67mh-4wv8-2f99 (moderate)vite<= 6.4.2 — GHSA-fx2h-pf6j-xcff (high), GHSA-4w7w-66w2-5vf9 (moderate), GHSA-v6wh-96g9-6wx3 (moderate)There is no in-range fix:
vite5.x tops out at 5.4.21 (what is installed) and the whole 5.x line stays inside the vulnerable range, so escaping it is necessarily a major bump. See #39 for the analysis — the minimal escape isvite@^6.4.3, not the8.2.2npm suggests.About the
@tailwindcss/oxide-wasm32-wasiblock in the diff58 of the 75 added lines are six
inBundle: true, optional: trueentries undernode_modules/@tailwindcss/oxide-wasm32-wasi/. These are not part of the security change. They are npm 10.9.8 renormalizing bundled optional dependencies, and running a no-opnpm install --package-lock-onlyon untouchedmainproduces the exact same 58 lines. They carry noresolved/integrity, so they add no new downloads. Verified before committing so the churn could be accounted for rather than hidden.Verification — local only
This repository has no CI. There is no
.github/workflowsdirectory at all, so nothing will run against this branch. Everything below was run locally on the branch, and the same steps were run first on untouchedmainto establish a baseline.ui/package.jsondefines onlydev/build/preview— there is notestand nolintscript, so those steps do not exist here.main(baseline)npm cinpm run build(vite build)npm audit --package-lock-onlyThe baseline was already green, so this is a true pass rather than a differential comparison. Module count is identical (71 → 71); the CSS chunk hash is unchanged and the JS chunk moves 226.71 kB → 227.42 kB, consistent with the
unheadpatch bump.Node v22.22.3, npm 10.9.8, macOS arm64.
Built
ui/dist/is checked into this repo. It was deliberately not regenerated here — this PR touchesui/package-lock.jsonand nothing else, so the committeddist/is left exactly as it is onmain.🤖 Generated with Claude Code