CVE-2022-31151
undici before v5.8.0 vulnerable to uncleared cookies on cross-host / cross-origin redirect
Impact
### Impact Authorization headers are already cleared on cross-origin redirect in https://github.com/nodejs/undici/blob/main/lib/handler/redirect.js#L189, based on https://github.com/nodejs/undici/issues/872. However, cookie headers which are sensitive headers and are official headers found in the spec, remain uncleared. There also has been active discussion of implementing a cookie store https://github.com/nodejs/undici/pull/1441, which suggests that there are active users using cookie headers in undici. As such this may lead to accidental leakage of cookie to a 3rd-party site or a malicious attacker who can control the redirection target (ie. an open redirector) to leak the cookie to the 3rd party site. ### Patches This was patched in v5.8.0. ### Workarounds By default, this vulnerability is not exploitable. Do not enable redirections, i.e. `maxRedirections: 0` (the default). ### References https://hackerone.com/reports/1635514 https://curl.se/docs/CVE-2018-1000007.html https://curl.se/docs/CVE-2022-27776.html ### For more information If you have any questions or comments about this advisory: * Open an issue in [undici repository](https://github.com/nodejs/undici/issues) * To make a report, follow the [SECURITY](https://github.com/nodejs/node/blob/HEAD/SECURITY.md) document
Affected packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| npm | undici | < 5.8.0 | 5.8.0 |
Affected products
| Vendor | Product | Affected versions |
|---|---|---|
| Nodejs | Undici | before 5.7.1 |
Weakness classification
References
- NVD record
- CVE.org record
- GitHub advisory
- https://github.com/nodejs/undici/issues/872
- https://github.com/nodejs/undici/security/advisories/GHSA-q768-x9m6-m9qp
- https://hackerone.com/reports/1635514
- https://security.netapp.com/advisory/ntap-20220909-0006/
- https://github.com/advisories/GHSA-q768-x9m6-m9qp
- https://nvd.nist.gov/vuln/detail/CVE-2022-31151
- https://github.com/nodejs/undici/pull/1441
- https://github.com/nodejs/undici/commit/0a5bee9465e627be36bac88edf7d9bbc9626126d
- https://github.com/nodejs/undici/blob/main/lib/handler/redirect.js#L189
- https://github.com/nodejs/undici/releases/tag/v5.8.0