fix(deps): override cookie and esbuild past two advisories upstream will not release - #26
Merged
Merged
Conversation
…ill not release Both alerts are transitive, and in both cases the direct dependent's own latest release still resolves the vulnerable version, so there is nothing to bump. cookie <0.7.0 (GHSA-pxg6-pf52-xh8x) arrives through @sveltejs/kit, which still declares `cookie: ^0.6.0` as of 2.70.3. This is the one that ships: the Worker bundle carries Kit's runtime, and Kit's runtime carries cookie. esbuild <=0.24.2 (GHSA-67mh-4wv8-2f99) arrives four levels down, through drizzle-kit -> @esbuild-kit/esm-loader -> @esbuild-kit/core-utils, which pins ~0.18.20. The @esbuild-kit/* packages are deprecated in favour of tsx and will not be released again, so only an override moves that pin. Both targets were already in the lockfile for another consumer, so each entry deduplicates onto an existing copy rather than adding one, and neither is subject to the minimumReleaseAge cooldown. The lockfile diff is purely subtractive: esbuild 0.18.20 and its 24 platform packages, and cookie 0.6.0, all leave the tree. Range selectors rather than bare names, so an entry stops matching once the graph no longer produces a vulnerable resolution and can then be deleted. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
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 and why
Closes both open Dependabot alerts. Neither was fixable by bumping anything — in
both cases the direct dependent's own latest release still resolves the
vulnerable version, so there is no upstream release to take.
cookie<0.7.0 — GHSA-pxg6-pf52-xh8x@sveltejs/kit→cookie@0.6.0cookie: ^0.6.0as of 2.70.3, the current latestesbuild<=0.24.2 — GHSA-67mh-4wv8-2f99drizzle-kit→@esbuild-kit/esm-loader→@esbuild-kit/core-utils→esbuild@0.18.20@esbuild-kit/*packages are deprecated in favour oftsxand will not be released again, so the~0.18.20pin is permanentWorth separating the two, because only one of them matters much:
cookieships.@sveltejs/kitis a devDependency, but the built Workerbundles Kit's runtime and Kit's runtime contains
cookie. Below 0.7.0,serialize()does not reject out-of-bounds characters in the cookie name, pathor domain, so a caller passing unvalidated input can close the field with
;and append attributes of its choosing to the
Set-Cookieheader. 0.7.2 onlytightens validation; the
parse/serializesignatures are unchanged.esbuilddoes not. It is the development server'sAccess-Control-Allow-Origin: *default, it is dev-only, and nothing in thisrepository starts that server. It sits four levels down a
drizzle-kitdependency chain. Fixed for tidiness and to clear the alert, not because it was
reachable.
The correction goes in
pnpm-workspace.yaml, which is where pnpm 11 readsoverridesfrom and where the rest of the supply-chain policy already lives:Range selectors rather than bare names, so an entry stops matching once the
graph no longer produces a vulnerable resolution and can then simply be deleted.
Both target versions were already in the lockfile for another consumer, so
each entry deduplicates onto an existing copy rather than adding one, and
neither is subject to the
minimumReleaseAge: 4320cooldown directly above it.The lockfile diff is purely subtractive — 237 lines out, 7 in:
esbuild@0.18.20and its 24 per-platform packages, and
cookie@0.6.0, all leave the tree. Nopackage is added and no unrelated version moves.
Renovate could not have produced this.
vulnerabilityAlertsis configured andenabled, but it resolves an advisory by bumping to a fixed release, and here
there is none to bump to.
How to verify
Then confirm the vulnerable versions are absent from the installed tree, not
merely from the lockfile — both greps should return nothing:
ls node_modules/.pnpm | grep '^cookie@'should show0.7.2,1.1.1and2.0.1only. No Cloudflare account is needed for any of this.Checklist
mise run cipasses locally.server-rendered page payload or an audit detail field as a result of this
change.
Encryption, database and authorization sections are not applicable — this
touches no code, only dependency resolution.
🤖 Generated with Claude Code