undici before v5.8.0 vulnerable to uncleared cookies on cross-host / cross-origin redirect
Description
Published by the National Vulnerability Database
Jul 21, 2022
Published to the GitHub Advisory Database
Jul 21, 2022
Reviewed
Jul 21, 2022
Last updated
Jan 30, 2023
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 nodejs/undici#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 nodejs/undici#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:
References