Skip to content

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

Low severity GitHub Reviewed Published Oct 4, 2024 in jshttp/cookie • Updated Oct 4, 2024

Package

npm cookie (npm)

Affected versions

< 0.7.0

Patched versions

0.7.0

Description

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

References

@blakeembrey blakeembrey published to jshttp/cookie Oct 4, 2024
Published to the GitHub Advisory Database Oct 4, 2024
Reviewed Oct 4, 2024
Last updated Oct 4, 2024

Severity

Low

EPSS score

0.045%
(17th percentile)

Weaknesses

CVE ID

CVE-2024-47764

GHSA ID

GHSA-pxg6-pf52-xh8x

Source code

Loading Checking history
See something to contribute? Suggest improvements for this vulnerability.