cbcvebase.
CVE-2022-32213
published 2022-07-14

CVE-2022-32213: The llhttp parser <v14.20.1, <v16.17.1 and <v18.9.1 in the http module in Node.js does not correctly parse and validate Transfer-Encoding headers and can lead…

PriorityP346medium6.5CVSS 3.1
AVNACLPRNUINSUCLILAN
EPSS
41.95%
98.6th percentile
The llhttp parser <v14.20.1, <v16.17.1 and <v18.9.1 in the http module in Node.js does not correctly parse and validate Transfer-Encoding headers and can lead to HTTP Request Smuggling (HRS).

Affected

43 ranges· showing 25
VendorProductVersion rangeFixed in
debiandebian_linux
debianllhttp< nodejs 18.6.0+dfsg-3 (bookworm)nodejs 18.6.0+dfsg-3 (bookworm)
debiannodejs< nodejs 18.6.0+dfsg-3 (bookworm)nodejs 18.6.0+dfsg-3 (bookworm)
fedoraprojectfedora
fedoraprojectfedora
fedoraprojectfedora
llhttpllhttp< 2.1.52.1.5
llhttpllhttp>= 0 < 6.0.76.0.7
llhttpllhttp>= 6.0.0 < 6.0.76.0.7
msrcazl3_rust_1.75.0-14_on_azure_linux_3.0
msrcazl3_rust_1.75.0-1_on_azure_linux_3.0
msrcazl3_rust_1.86.0-1_on_azure_linux_3.0
msrccbl2_nodejs_16.20.2-4_on_cbl_mariner_2.0
msrccm1_nodejs_14.20.0-1_on_cbl_mariner_1.0
nodejsnode>= 10.0 < 10.*10.*
nodejsnode>= 11.0 < 11.*11.*
nodejsnode>= 12.0 < 12.*12.*
nodejsnode>= 13.0 < 13.*13.*
nodejsnode>= 14.0 < 14.20.114.20.1
nodejsnode>= 15.0 < 15.*15.*
nodejsnode>= 16.0 < 16.17.116.17.1
nodejsnode>= 17.0 < 17.*17.*
nodejsnode>= 18.0 < 18.9.118.9.1
nodejsnode>= 4.0 < 4.*4.*
nodejsnode>= 5.0 < 5.*5.*

Detection & IOCsextracted from sources · hover to see the quote

commandcurl -vv -H $'Transfer-Encoding: chunked\r\n abc' --data "A" http://127.0.0.1:5000
  • Look for downstream requests containing 'Transfer-Encoding: chunked <extra-token>' (e.g. 'chunked abc') as a result of obs-fold header folding by a Node.js proxy — this indicates a smuggled/malformed TE header was forwarded.
  • Flag HTTP requests where the Transfer-Encoding header contains a value that is not a valid transfer-encoding token (e.g. contains whitespace-folded extra tokens), as the llhttp parser in Node.js does not correctly parse and validate such Transfer-Encoding headers.
  • When Node.js HTTP module is used as a reverse proxy, monitor for discrepancies between the Transfer-Encoding header received by the proxy and the one forwarded to the downstream server, which may indicate HTTP Request Smuggling exploitation.
  • ·The fix for CVE-2022-32213 can be bypassed using the obs-fold mechanic (CRLF + whitespace folding within Transfer-Encoding header), meaning patching to the initial fix may not be sufficient — llhttp v6.0.7 / v2.1.5 and Node.js >=14.20.1, >=16.17.1, >=18.9.1 contain the complete fixes.
  • ·All Node.js 18.x, 16.x, and 14.x release lines are affected; llhttp v6.0.7 and llhttp v2.1.5 contain the fixes.

CVSS provenance

nvdv3.16.5MEDIUMCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N
osv8.1HIGH
vendor_ubuntu8.1HIGH
vendor_debian6.5LOW
vendor_msrc6.5MEDIUM
vendor_redhat6.5MEDIUM
Stop checking back — get the weekly exploitation signal.

Every Monday: what got weaponized or added to CISA KEV in the last seven days — each CVE cross-linked to its PoC, Nuclei template, and detection rule. Free, one email a week, unsubscribe in one click.