The cookie name could be used to set other fields of the cookie, resulting in an unexpected cookie value. For example, serialize("userName=<script>alert('XSS3')</script>; Max-Age=2592000; a", value) would result in "userName=<script>alert('XSS3')</script>; Max-Age=2592000; a=test", setting userName cookie to <script> and ignoring value.
A similar escape can be used for path and domain, which could be abused to alter other fields of the cookie.
Patches
Upgrade to 0.7.0, which updates the validation for name, path, and domain.
Workarounds
Avoid passing untrusted or arbitrary values for these fields, ensure they are set by the application instead of user input.
jshttp/cookie (cookie)
### [`v0.7.0`](https://redirect.github.com/jshttp/cookie/releases/tag/v0.7.0): 0.7.0
[Compare Source](https://redirect.github.com/jshttp/cookie/compare/v0.6.0...v0.7.0)
- perf: parse cookies ~10% faster ([#144](https://redirect.github.com/jshttp/cookie/issues/144) by [@kurtextrem](https://redirect.github.com/kurtextrem) and [#170](https://redirect.github.com/jshttp/cookie/issues/170))
- fix: narrow the validation of cookies to match RFC6265 ([#167](https://redirect.github.com/jshttp/cookie/issues/167) by [@bewinsnw](https://redirect.github.com/bewinsnw))
- fix: add `main` to `package.json` for rspack ([#166](https://redirect.github.com/jshttp/cookie/issues/166) by [@proudparrot2](https://redirect.github.com/proudparrot2))
Configuration
📅 Schedule: Branch creation - "" in timezone America/New_York, Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Never, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
[ ] If you want to rebase/retry this PR, check this box
This PR contains the following updates:
^0.6.0
->^0.7.0
GitHub Vulnerability Alerts
CVE-2024-47764
Impact
The cookie name could be used to set other fields of the cookie, resulting in an unexpected cookie value. For example,
serialize("userName=<script>alert('XSS3')</script>; Max-Age=2592000; a", value)
would result in"userName=<script>alert('XSS3')</script>; Max-Age=2592000; a=test"
, settinguserName
cookie to<script>
and ignoringvalue
.A similar escape can be used for
path
anddomain
, which could be abused to alter other fields of the cookie.Patches
Upgrade to 0.7.0, which updates the validation for
name
,path
, anddomain
.Workarounds
Avoid passing untrusted or arbitrary values for these fields, ensure they are set by the application instead of user input.
References
Release Notes
jshttp/cookie (cookie)
### [`v0.7.0`](https://redirect.github.com/jshttp/cookie/releases/tag/v0.7.0): 0.7.0 [Compare Source](https://redirect.github.com/jshttp/cookie/compare/v0.6.0...v0.7.0) - perf: parse cookies ~10% faster ([#144](https://redirect.github.com/jshttp/cookie/issues/144) by [@kurtextrem](https://redirect.github.com/kurtextrem) and [#170](https://redirect.github.com/jshttp/cookie/issues/170)) - fix: narrow the validation of cookies to match RFC6265 ([#167](https://redirect.github.com/jshttp/cookie/issues/167) by [@bewinsnw](https://redirect.github.com/bewinsnw)) - fix: add `main` to `package.json` for rspack ([#166](https://redirect.github.com/jshttp/cookie/issues/166) by [@proudparrot2](https://redirect.github.com/proudparrot2))Configuration
📅 Schedule: Branch creation - "" in timezone America/New_York, Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Never, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.