sveltejs / kit

web development, streamlined
https://svelte.dev/docs/kit
MIT License
18.76k stars 1.95k forks source link

fix: Use default cookie decoder instead of bare native #13037

Closed kkarikos closed 4 days ago

kkarikos commented 5 days ago

SvelteKit currently depends on cookie@0.6.0 which has known security vulnerability. User can create an override if they do not need to keep the backward compatibility.

cookie@0.6.0 wraps the passed decoder in try..catch but the new version does not. If user overrides the cookie library, cookies.get and cookies.getAll throw if called with a cookie value that contains malformed content.

In both cases (cookie@0.6.0 and higher) the default decode implementation of cookie library has performance optimization to skip calling decodeURIComponent if the string does not contain "%".

Removing the passing of default decoder: decodeURIComponent does not harm but helps both cases.


Please don't delete this checklist! Before submitting the PR, please make sure you do the following:

Tests

Changesets

Edits

changeset-bot[bot] commented 5 days ago

🦋 Changeset detected

Latest commit: 94035933ffec6094410da2b4853da7ff99d01fbf

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package | Name | Type | | ------------- | ----- | | @sveltejs/kit | Patch |

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR