Files
vuln-cve/data/2026/120xxx/CVE-2026-120415.json
T

174 lines
8.5 KiB
JSON

{
"dataType": "CVE_RECORD",
"dataVersion": "5.2",
"cveMetadata": {
"cveId": "CVE-2026-120415",
"assignerOrgId": "ce714d77-add3-4f53-aff5-83d477b104bb",
"state": "PUBLISHED",
"assignerShortName": "openjs",
"dateReserved": "2026-11-02T11:55:49.802Z",
"datePublished": "2026-11-06T10:10:48.653Z",
"dateUpdated": "2026-11-10T17:40:41.647Z"
},
"containers": {
"cna": {
"providerMetadata": {
"orgId": "ce714d77-add3-4f53-aff5-83d477b104bb",
"shortName": "openjs",
"dateUpdated": "2026-11-06T10:10:48.653Z"
},
"descriptions": [
{
"lang": "en",
"value": "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.",
"supportingMedia": [
{
"type": "text/html",
"base64": false,
"value": "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."
}
]
}
],
"affected": [
{
"vendor": "undici",
"product": "undici",
"defaultStatus": "unaffected",
"versions": [
{
"versionType": "semver",
"status": "affected",
"version": "7.0.0",
"lessThan": "7.30.2"
},
{
"versionType": "semver",
"status": "unaffected",
"version": "7.30.2"
},
{
"versionType": "semver",
"status": "affected",
"version": "8.0.0",
"lessThan": "8.12.4"
},
{
"versionType": "semver",
"status": "unaffected",
"version": "8.12.4"
}
],
"packageURL": "pkg:npm/undici"
}
],
"references": [
{
"url": "https://github.com/nodejs/undici/security/advisories/GHSA-9v6h-8rgp-m69f"
},
{
"url": "https://cna.openjsf.org/security-advisories.html"
}
],
"credits": [
{
"lang": "en",
"type": "finder",
"value": "ffasterss"
},
{
"lang": "en",
"type": "finder",
"value": "shirabe0x05"
},
{
"lang": "en",
"type": "remediation developer",
"value": "mcollina"
},
{
"lang": "en",
"type": "remediation reviewer",
"value": "UlisesGascon"
}
],
"title": "undici vulnerable to cross-origin credential disclosure via array-of-tuples headers bypassing redirect stripping",
"metrics": [
{
"format": "CVSS",
"cvssV3_1": {
"version": "3.1",
"vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N",
"baseScore": 5.9,
"baseSeverity": "MEDIUM"
},
"scenarios": [
{
"lang": "en",
"value": "GENERAL"
}
]
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-200",
"lang": "en",
"description": "CWE-200: Exposure of Sensitive Information to an Unauthorized Actor",
"type": "CWE"
}
]
},
{
"descriptions": [
{
"cweId": "CWE-212",
"lang": "en",
"description": "CWE-212: Improper Removal of Sensitive Information Before Storage or Transfer",
"type": "CWE"
}
]
}
],
"x_generator": {
"engine": "cve-kit 1.0.0"
}
},
"adp": [
{
"metrics": [
{
"other": {
"type": "ssvc",
"content": {
"timestamp": "2026-11-10T17:40:27.623427Z",
"id": "CVE-2026-120415",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "no"
},
{
"Technical Impact": "partial"
}
],
"role": "CISA Coordinator",
"version": "2.0.3"
}
}
}
],
"title": "CISA ADP Vulnrichment",
"providerMetadata": {
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP",
"dateUpdated": "2026-11-10T17:40:41.647Z"
}
}
]
}
}