{"api_version":"1","generated_at":"2026-04-23T01:14:49+00:00","cve":"CVE-2022-35948","urls":{"html":"https://cve.report/CVE-2022-35948","api":"https://cve.report/api/cve/CVE-2022-35948.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2022-35948","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2022-35948"},"summary":{"title":"CVE-2022-35948","description":"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.","state":"PUBLIC","assigner":"security-advisories@github.com","published_at":"2022-08-15 11:21:00","updated_at":"2023-03-28 17:08:00"},"problem_types":["CWE-74","CWE-93"],"metrics":[],"references":[{"url":"https://github.com/nodejs/undici/commit/66165d604fd0aee70a93ed5c44ad4cc2df395f80","name":"https://github.com/nodejs/undici/commit/66165d604fd0aee70a93ed5c44ad4cc2df395f80","refsource":"MISC","tags":[],"title":"Merge pull request from GHSA-f772-66g8-q5h3 · nodejs/undici@66165d6 · GitHub","mime":"text/html","httpstatus":"200","archivestatus":"404"},{"url":"https://github.com/nodejs/undici/releases/tag/v5.8.2","name":"https://github.com/nodejs/undici/releases/tag/v5.8.2","refsource":"MISC","tags":[],"title":"Release v5.8.2 · nodejs/undici · GitHub","mime":"text/html","httpstatus":"200","archivestatus":"404"},{"url":"https://github.com/nodejs/undici/security/advisories/GHSA-f772-66g8-q5h3","name":"https://github.com/nodejs/undici/security/advisories/GHSA-f772-66g8-q5h3","refsource":"CONFIRM","tags":[],"title":"CRLF Injection in Nodejs ‘undici’ via Content-Type · Advisory · nodejs/undici · GitHub","mime":"text/html","httpstatus":"200","archivestatus":"200"},{"url":"https://www.cve.org/CVERecord?id=CVE-2022-35948","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2022-35948","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[{"cve_year":"2022","cve_id":"35948","vulnerable":"1","versionEndIncluding":"","cpe1":"cpe","cpe2":"2.3","cpe3":"a","cpe4":"nodejs","cpe5":"undici","cpe6":"*","cpe7":"*","cpe8":"*","cpe9":"*","cpe10":"*","cpe11":"node.js","cpe12":"*","cpe13":"*"}],"vendor_comments":[],"enrichments":{"kev":null,"epss":null,"legacy_qids":[{"cve":"CVE-2022-35948","qid":"184306","title":"Debian Security Update for node-undici (CVE-2022-35948)"},{"cve":"CVE-2022-35948","qid":"753302","title":"SUSE Enterprise Linux Security Update for nodejs16 (SUSE-SU-2022:3251-1)"},{"cve":"CVE-2022-35948","qid":"753318","title":"SUSE Enterprise Linux Security Update for nodejs16 (SUSE-SU-2022:3250-1)"}]},"source_records":{"cve_program":{"CVE_data_meta":{"ASSIGNER":"security-advisories@github.com","ID":"CVE-2022-35948","STATE":"PUBLIC","TITLE":"CRLF Injection in Nodejs ‘undici’ via Content-Type"},"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","description":{"description_data":[{"lang":"eng","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."}]},"impact":{"cvss":{"attackComplexity":"HIGH","attackVector":"NETWORK","availabilityImpact":"HIGH","baseScore":7.1,"baseSeverity":"HIGH","confidentialityImpact":"HIGH","integrityImpact":"LOW","privilegesRequired":"LOW","scope":"UNCHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N","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":[{"name":"https://github.com/nodejs/undici/releases/tag/v5.8.2","refsource":"MISC","url":"https://github.com/nodejs/undici/releases/tag/v5.8.2"},{"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"}]},"source":{"advisory":"GHSA-f772-66g8-q5h3","discovery":"UNKNOWN"}},"nvd":{"publishedDate":"2022-08-15 11:21:00","lastModifiedDate":"2023-03-28 17:08:00","problem_types":["CWE-74","CWE-93"],"metrics":{"baseMetricV3":{"cvssV3":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"NONE","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"NONE","integrityImpact":"LOW","availabilityImpact":"NONE","baseScore":5.3,"baseSeverity":"MEDIUM"},"exploitabilityScore":3.9,"impactScore":1.4}},"configurations":{"CVE_data_version":"4.0","nodes":[{"operator":"OR","children":[],"cpe_match":[{"vulnerable":true,"cpe23Uri":"cpe:2.3:a:nodejs:undici:*:*:*:*:*:node.js:*:*","versionEndExcluding":"5.8.2","cpe_name":[]}]}]}},"legacy_mitre":{"record":null,"notes":[]}}}