UnratednpmAmendedPublished
cookie accepts cookie name, path, and domain with out of bounds characters
CVE-2024-47764 · GHSA-pxg6-pf52-xh8x
- Affected
- npm cookie < 0.7.0
- Fixed in
- 0.7.0· Vendor fix available
- Issue
- Impact The cookie name could be used to set other fields of the cookie, resulting in an unexpected cookie value. For example, serialize("userName=<scriptalert('XSS3')</script; Max-Age=2592000; a", value) would result in "userName=<scriptalert('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
Recommended action: Upgrade to 0.7.0 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.