LowGHSA-pxg6-pf52-xh8xCVE-2024-47764

cookie accepts cookie name, path, and domain with out of bounds characters

Published 4 Oct 2024 · Updated 10 Sept 2026

Affected package

Affected
<0.7.0
Fixed in
0.7.0
Update to the fixed version for your release line, for example:npm install cookie@0.7.0

Details

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", 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.

References

  • https://github.com/jshttp/cookie/pull/167

Is GHSA-pxg6-pf52-xh8x in any of your client repos?

Checking one package by hand is fine. Checking it across forty client projects is not. NPMscan reads the lockfiles in every GitHub repo you pick, finds each project with an affected cookie, and gives you the command that fixes it.

References

Advisory data from OSV.dev (opens OSV.dev in a new tab), refreshed daily.