nodejs/undici · Security
undici before v5.8.0 vulnerable to uncleared cookies on cross-host / cross-origin redirect
- GHSA ID
- GHSA-q768-x9m6-m9qp
- CVE ID
- CVE-2022-31151
- Severity
- low
- Published
- Updated
- CVSS
- 3.7 · CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N
- CVSS v3
- 3.7 · CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N
Description
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
- To make a report, follow the SECURITY document
CWEs
- CWE-93 · Improper Neutralization of CRLF Sequences ('CRLF Injection')
- CWE-346 · Origin Validation Error
- CWE-601 · URL Redirection to Untrusted Site ('Open Redirect')
References
- https://github.com/nodejs/undici/security/advisories/GHSA-q768-x9m6-m9qp ↗
- https://nvd.nist.gov/vuln/detail/CVE-2022-31151 ↗
- https://github.com/nodejs/undici/issues/872 ↗
- 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 ↗
- https://hackerone.com/reports/1635514 ↗
- https://security.netapp.com/advisory/ntap-20220909-0006/ ↗
- https://github.com/advisories/GHSA-q768-x9m6-m9qp ↗