Skip to content

web(deps): resolve SvelteKit cookie audit advisory #54

Closed

Description

@TusanHomichi

Evidence

npm ci on main at a85b909 reports three low-severity audit entries which are one dependency chain:

  • direct @sveltejs/kit 2.70.3;
  • direct @sveltejs/adapter-static 3.0.10, affected through Kit;
  • transitive cookie 0.6.0, affected by GHSA-pxg6-pf52-xh8x (cookie accepts out-of-bounds characters in cookie name, path, and domain).

npm audit --json reports no moderate, high, or critical findings. The suggested automated fix incorrectly proposes old semver-major package versions (@sveltejs/kit 0.0.30 or adapter-static 0.0.17), so npm audit fix --force is not an acceptable remedy. Consolebook uses SvelteKit only to build a static SPA; Rust/Axum owns runtime cookies.

Outcome

Evaluate the first compatible Kit release or a safe lockfile/override update that carries cookie >=0.7.0, confirm the static-build threat boundary, and run npm ci, npm audit, npm run check, npm run build, the Rust gates, and browser tests before merging. Do not suppress the advisory without a documented reason.

Execution record (2026-10-15)

  • Authority: the maintainer, 2026-10-15, local session: "yes please do so. i'd like to use latest versions of packages here where it makes sense in general". This came in reply to taking web(deps): resolve SvelteKit cookie audit advisory #54 after Dependabot's chore(deps): bump cookie, @sveltejs/adapter-static and @sveltejs/kit in /web #134 failed to install, plus the standing permission to manage PRs end to end, including merging.
  • Scope (widened by that instruction): move the web stack to its latest stable releases wherever that makes sense. That covers SvelteKit 3, adapter-static 4, vite-plugin-svelte 7, and their Vite, Svelte, and TypeScript peers, plus the other direct dev dependencies (svelte-check, Playwright, …). The cookie advisory (GHSA-pxg6-pf52-xh8x, Dependabot alert Implement Milestone 1 operable-shell foundation #1) closes as a result. Rust crates, the toolchain, and Actions pins are separate PRs, one per ecosystem. Keeping versions current from now on is mechanical: Dependabot version updates, in their own change.
  • Plan:
    1. A scout inventories the outdated packages, their breaking changes, the compatible version set, and the Node minimum.
    2. The implementer migrates from a fixed brief.
    3. An independent reviewer reviews.
    4. A verifier runs the full proof, and the browser suite must pass unchanged unless a breaking change requires otherwise.
    5. The PR merges under the standing permission.
  • Next action: take the scout's inventory, then brief the migration.

Activity

  1. TusanHomichi commented on Oct 15, 2026

    @TusanHomichi
    MemberAuthor

    Update (2026-10-15): with the dependency graph now enabled (#131), Dependabot opened #134 for this chain: cookie 0.6.0 → 2.0.1, @sveltejs/kit ^2 → ^3.1.0, @sveltejs/adapter-static ^3 → ^4. It fails at install. Kit 3.1.0 peers @sveltejs/vite-plugin-svelte@^7.0.0 against our ^6 (ERESOLVE, run 38787555488). So resolving this advisory means migrating to SvelteKit 3 as a whole: vite-plugin-svelte 7, its Vite and Svelte peer ranges, adapter-static 4, and whatever breaking changes Kit 3 brings to a static SPA. That needs to be proven with the full gate and the browser suite. I closed #134 with that explanation. Dependabot alert #1 (GHSA-pxg6-pf52-xh8x, low) remains open against this issue. The other five open alerts, all for devalue and source-map-js, are fixed in #135.

  2. TusanHomichi commented on Oct 15, 2026

    @TusanHomichi
    MemberAuthor

    Merged in #140 as 21fe68d725a21680ff16755b461253e95014261a (squash, single parent 909bf92). The merged tree bc172ff6 is identical to the combined head 32b5942, which was proven locally with Rust 1.99.1 after the rebase onto #139: 7/7 gates, 292 Rust tests, 62/62 browser tests, npm audit 0, receipt sha256 c422ec60…. Hosted fmt-clippy-test, build-x86_64, build-aarch64, and CodeQL passed on that head. Codex reviewed both heads and found nothing. The cookie advisory (GHSA-pxg6-pf52-xh8x) is gone from the lockfile (cookie 2.0.1); Dependabot alert #1 should mark itself fixed on its next scan. Authority: the maintainer's dependency policy and standing PR permission.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions