{"id":"UBUNTU-CVE-2026-120415","details":"undici is an HTTP client for Node.js. In versions 7.0.0 through 7.30.1 and 8.0.0 through 8.12.3, the redirect interceptor strips sensitive headers such as Authorization, Cookie, Proxy-Authorization, and Host when a request is redirected to a different origin, but when request headers are supplied as an array of name and value tuples (a valid documented input, for example from Object.entries), the redirect handler misreads them as a flat list so the header names never match and the sensitive headers are not removed. If a header-normalizing interceptor such as cache or deduplicate is composed outside the redirect interceptor, it then serializes the retained headers onto the cross-origin request, disclosing the caller's origin-bound credentials to the unrelated redirect destination. This is a representation-dependent bypass of the cross-origin header stripping added in CVE-2024-30260. The issue is fixed in undici 7.30.2 and 8.12.4, and users should upgrade to one of those versions or later. As a workaround, supply request headers as a plain object or a flat name and value array rather than an array of tuples, or compose the redirect interceptor outside the normalizing interceptor.","modified":"2026-11-07T01:46:09.943516658Z","published":"2026-11-06T00:00:00Z","upstream":["CVE-2026-120415"],"references":[{"type":"REPORT","url":"https://ubuntu.com/security/CVE-2026-120415"},{"type":"REPORT","url":"https://www.cve.org/CVERecord?id=CVE-2026-120415"},{"type":"REPORT","url":"https://cna.openjsf.org/security-advisories.html"},{"type":"REPORT","url":"https://github.com/nodejs/undici/security/advisories/GHSA-9v6h-8rgp-m69f"}],"affected":[{"package":{"name":"node-undici","ecosystem":"Ubuntu:24.04:LTS","purl":"pkg:deb/ubuntu/node-undici?arch=source&distro=noble"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["5.22.1+dfsg1+~cs20.10.10.2-1ubuntu1","5.26.3+dfsg1+~cs23.10.12-2"],"ecosystem_specific":{"binaries":[{"binary_version":"9.1.3~5.26.3+dfsg1+~cs23.10.12-2","binary_name":"node-llhttp"},{"binary_name":"node-undici","binary_version":"5.26.3+dfsg1+~cs23.10.12-2"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-120415.json"}},{"package":{"name":"node-undici","ecosystem":"Ubuntu:26.10","purl":"pkg:deb/ubuntu/node-undici?arch=source&distro=stonking"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["7.18.2+dfsg+~cs3.2.0-1build1","7.24.6+dfsg+~cs3.2.0-3","8.5.0+dfsg+~cs3.2.0-2","8.5.0+dfsg+~cs3.2.0-3","8.9.0+dfsg+~cs3.2.0-1"],"ecosystem_specific":{"binaries":[{"binary_name":"node-undici","binary_version":"8.9.0+dfsg+~cs3.2.0-1"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-120415.json"}},{"package":{"name":"node-undici","ecosystem":"Ubuntu:26.04:LTS","purl":"pkg:deb/ubuntu/node-undici?arch=source&distro=resolute"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["7.3.0+dfsg1+~cs24.12.11-2","7.16.0+dfsg+~cs3.2.0-2","7.18.2+dfsg+~cs3.2.0-1","7.18.2+dfsg+~cs3.2.0-1build1"],"ecosystem_specific":{"binaries":[{"binary_name":"node-undici","binary_version":"7.18.2+dfsg+~cs3.2.0-1build1"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-120415.json"}}],"schema_version":"1.9.2","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N"},{"type":"Ubuntu","score":"medium"}]}