2022-07-16 00:01:14 +00:00
{
"CVE_data_meta" : {
2022-08-13 23:32:31 +00:00
"ASSIGNER" : "security-advisories@github.com" ,
2022-07-16 00:01:14 +00:00
"ID" : "CVE-2022-35948" ,
2022-08-13 23:32:31 +00:00
"STATE" : "PUBLIC" ,
2022-08-14 00:00:37 +00:00
"TITLE" : "CRLF Injection in Nodejs \u2018undici\u2019 via Content-Type"
2022-07-16 00:01:14 +00:00
} ,
2022-08-13 23:32:31 +00:00
"affects" : {
"vendor" : {
"vendor_data" : [
{
"product" : {
"product_data" : [
{
"product_name" : "undici" ,
"version" : {
"version_data" : [
{
"version_value" : "=< 5.8.0"
}
]
}
}
]
} ,
"vendor_name" : "nodejs"
}
]
}
} ,
"data_format" : "MITRE" ,
"data_type" : "CVE" ,
"data_version" : "4.0" ,
2022-07-16 00:01:14 +00:00
"description" : {
"description_data" : [
{
"lang" : "eng" ,
2022-08-14 00:00:37 +00:00
"value" : "undici is an HTTP/1.1 client, written from scratch for Node.js.`=< undici@5.8.0` users are vulnerable to _CRLF Injection_ on headers when using unsanitized input as request headers, more specifically, inside the `content-type` header. Example: ``` import { request } from 'undici' const unsanitizedContentTypeInput = 'application/json\\r\\n\\r\\nGET /foo2 HTTP/1.1' await request('http://localhost:3000, { method: 'GET', headers: { 'content-type': unsanitizedContentTypeInput }, }) ``` The above snippet will perform two requests in a single `request` API call: 1) `http://localhost:3000/` 2) `http://localhost:3000/foo2` This issue was patched in Undici v5.8.1. Sanitize input when sending content-type headers using user input as a workaround."
2022-08-13 23:32:31 +00:00
}
]
} ,
"impact" : {
"cvss" : {
"attackComplexity" : "HIGH" ,
"attackVector" : "NETWORK" ,
"availabilityImpact" : "HIGH" ,
"baseScore" : 7.1 ,
"baseSeverity" : "HIGH" ,
"confidentialityImpact" : "HIGH" ,
"integrityImpact" : "LOW" ,
"privilegesRequired" : "LOW" ,
"scope" : "UNCHANGED" ,
"userInteraction" : "NONE" ,
2023-01-18 12:40:28 -08:00
"vectorString" : "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N" ,
2022-08-13 23:32:31 +00:00
"version" : "3.1"
}
} ,
"problemtype" : {
"problemtype_data" : [
{
"description" : [
{
"lang" : "eng" ,
"value" : "CWE-93: Improper Neutralization of CRLF Sequences ('CRLF Injection')"
}
]
} ,
{
"description" : [
{
"lang" : "eng" ,
"value" : "CWE-74: Improper Neutralization of Special Elements in Output Used by a Downstream Component ('Injection')"
}
]
}
]
} ,
"references" : {
"reference_data" : [
2022-08-14 00:00:37 +00:00
{
"name" : "https://github.com/nodejs/undici/releases/tag/v5.8.2" ,
"refsource" : "MISC" ,
"url" : "https://github.com/nodejs/undici/releases/tag/v5.8.2"
} ,
2022-08-13 23:32:31 +00:00
{
"name" : "https://github.com/nodejs/undici/security/advisories/GHSA-f772-66g8-q5h3" ,
"refsource" : "CONFIRM" ,
"url" : "https://github.com/nodejs/undici/security/advisories/GHSA-f772-66g8-q5h3"
} ,
{
"name" : "https://github.com/nodejs/undici/commit/66165d604fd0aee70a93ed5c44ad4cc2df395f80" ,
"refsource" : "MISC" ,
"url" : "https://github.com/nodejs/undici/commit/66165d604fd0aee70a93ed5c44ad4cc2df395f80"
2022-07-16 00:01:14 +00:00
}
]
2022-08-13 23:32:31 +00:00
} ,
"source" : {
"advisory" : "GHSA-f772-66g8-q5h3" ,
"discovery" : "UNKNOWN"
2022-07-16 00:01:14 +00:00
}
}