CVE-2023-45143: Undici's cookie header not cleared on cross-origin redirect in fetch
Impact
Undici clears Authorization headers on cross-origin redirects, but does not clear Cookie headers. By design, cookie headers are forbidden request headers, disallowing them to be set in RequestInit.headers in browser environments. Since Undici handles headers more liberally than the specification, there was a disconnect from the assumptions the spec made, and Undici's implementation of fetch.
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 e041de359221ebeae04c469e8aff4145764e6d76, which is included in version 5.26.2.
Other sources
Node.js undici module could allow a remote authenticated attacker to obtain sensitive information, caused by the failure to clear cookie header on cross-origin redirect in fetch. By persuading a victim to visit a specially crafted Web site, an attacker could exploit this vulnerability to obtain cookie header information, and use this information to launch further attacks against the affected system.
— IBM
Undici is an HTTP/1.1 client written from scratch for Node.js. Prior to version 5.26.2, Undici already cleared Authorization headers on cross-origin redirects, but did not clear Cookie headers. By design, cookie headers are forbidden request headers, disallowing them to be set in RequestInit.headers in browser environments. Since undici handles headers more liberally than the spec, there was a disconnect from the assumptions the spec made, and undici's implementation of fetch. As such this may lead to accidental leakage of cookie to a third-party site or a malicious attacker who can control the redirection target (ie. an open redirector) to leak the cookie to the third party site. This was patched in version 5.26.2. There are no known workarounds.
— MITRE
Affected Software
Remediation
Event History
Frequently Asked Questions
What is CVE-2023-45143?
CVE-2023-45143 is a vulnerability in the Undici HTTP/1.1 client for Node.js version 5.26.2 and earlier.
What is the impact of CVE-2023-45143?
The impact of CVE-2023-45143 is that Undici clears Authorization headers on cross-origin redirects, but does not clear Cookie headers, which could potentially lead to security breaches.
How can I fix CVE-2023-45143?
To fix CVE-2023-45143, upgrade to Undici version 5.26.2 or later.
What is the severity of CVE-2023-45143?
CVE-2023-45143 has a severity rating of 3.9 (low).
Where can I find more information about CVE-2023-45143?
You can find more information about CVE-2023-45143 in the references provided on the GitHub page for Undici.