chore: patch dependency vulnerabilities within existing semver ranges - #69
Merged
Merged
Conversation
`npm audit fix` only — package.json is untouched, so every update resolved inside the ranges already declared. 20 advisories down to 4. Key bumps: astro 5.16.3 -> 5.18.2, vite 6.4.1 -> 6.4.3, postcss 8.5.6 -> 8.5.28, yaml 2.8.2 -> 2.9.1, js-yaml 4.1.1 -> 4.3.2, devalue 5.6.4 -> 5.9.2, fast-xml-parser 5.4.1 -> 5.11.1, nanoid 3.3.11 -> 3.3.19. The 4 remaining advisories all need astro@7 (a breaking major) and none are reachable here: - CRITICAL astro - XSS via `define:vars` and server-island encrypted params. `define:vars` appears nowhere in src/, and server islands need SSR; this project has no `output` or `adapter` set, so it builds as pure static. - HIGH sharp - libvips CVEs. Build-time only, over images we author. - LOW esbuild - dev server arbitrary file read. - LOW @astrojs/tailwind - inherited from astro. Going to astro 7 would also mean migrating off @astrojs/tailwind, which is deprecated there. Not worth it for advisories that have no path into a static build; revisit when the site needs astro 7 for its own sake. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SCGof6E8MrS772HhsYZT5a
This was referenced Sep 14, 2026
serros404
approved these changes
Sep 18, 2026
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.
What
npm audit fixonly.package.jsonis untouched — every update resolved inside the semver ranges already declared, so this is a lockfile-only change.20 advisories → 4.
This clears the CRITICAL that was live on
astro@5.16.3(remote allowlist bypass via unanchoredmatchPathnamewildcard) and theviteadvisories, including the NTLMv2 hash disclosure that affected anyone runningnpm run devon Windows.Output verification
Built
mainfirst, snapshotteddist/, then built this branch and diffed the two — normalising content hashes and the per-buildastro-islanduid.remotePatternbuild warning from astro is gone; only our own unused-import warning (ChevronUp,Trash2inBlogFilter.jsx) remainsTwo real output changes, both benign:
1. Typographic quotes now render correctly (14 pages).
5.16.3emitted mismatched curly quotes — opening a quotation with a closing glyph:This is a fix, not a regression.
2. Two same-date posts swapped places (5 pages). Positions 16 and 17 in
/blog/traded:Both carry
pubDate: 2025-12-22. Five posts share that date, so their relative order is a tie the sort never breaks deterministically — the listing is ordered bypubDatealone. The upgrade just shuffled an already-arbitrary tie. Chronological order and the post set are unchanged.What is NOT fixed
Four advisories remain; all need
astro@7, a breaking major, and none are reachable here:define:varsand server-island encrypted params.define:varsappears nowhere insrc/, and server islands need SSR — there is nooutputoradapterinastro.config.mjs, so the site builds as pure staticAstro 7 would also mean migrating off
@astrojs/tailwind, which is deprecated there. Not worth it for advisories with no path into a static build — better done when the site needs astro 7 on its own merits.🤖 Generated with Claude Code