VDB
Sign up
LOW

GHSA-pxg6-pf52-xh8x

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

Quick fix

GHSA-pxg6-pf52-xh8x — cookie: upgrade to the fixed version with the command below.

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

Are you affected?

Enter the version of the package you're using.

Affected packages

npm/cookie
Introduced in: 0Fixed in: 0.7.0
Fixnpm install cookie@0.7.0

References