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

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

PriorityP350medium6.5CVSS 3.1
AVNACLPRNUINSUCLILAN
EPSS
68.80%
99.3th percentile
The llhttp parser <v14.20.1, <v16.17.1 and <v18.9.1 in the http module in Node.js does not correctly handle multi-line Transfer-Encoding headers. This 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>= 14.0.0 < 14.20.114.20.1
llhttpllhttp>= 16.0.0 < 16.17.116.17.1
llhttpllhttp>= 18.0.0 < 18.9.118.9.1
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.16.0-1_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

commandprintf "POST / HTTP/1.1\r\nHost: 127.0.0.1\r\nTransfer-Encoding: chunked\r\n , chunked-false\r\n\r\n1\r\nA\r\n0\r\n\r\nGET /flag HTTP/1.1\r\nHost: 127.0.0.1\r\nfoo: x\r\n\r\n\r\n" | nc localhost 80
  • Detect HTTP requests containing multi-line Transfer-Encoding headers (i.e., a Transfer-Encoding header followed by a continuation line starting with whitespace/space, e.g., ' , chunked-false') — this is the smuggling vector exploited by CVE-2022-32215.
  • Alert on HTTP responses where a single TCP stream yields two separate HTTP responses to one sent request — indicative of successful request smuggling (the server parsed one payload as two distinct requests).
  • Flag Transfer-Encoding header values containing comma-separated tokens with a leading space on a continuation line (e.g., 'chunked\r\n , chunked-false'), as this pattern bypasses llhttp validation and enables HRS.
  • Node.js versions v16.16.0 and v18.7.0 (and earlier in their respective lines: <v14.20.1, <v16.17.1, <v18.9.1) are confirmed vulnerable; flag traffic to/from Node.js HTTP servers running these versions.
  • ·CVE-2022-32215 was initially believed fixed but the fix was incomplete; the same exploit payload continued to work on Node v16.16.0 and v18.7.0. Ensure patching targets the corrected versions (≥v14.20.1, ≥v16.17.1, ≥v18.9.1) and not just any post-original-disclosure release.
  • ·The vulnerability is exploitable remotely over HTTP/HTTPS (CVSS up to 9.1 per Oracle); detection rules should cover both plaintext HTTP and TLS-terminated HTTP traffic proxied to Node.js backends.
  • ·Impact scope includes web cache poisoning, bypass of security layers, credential theft, and XSS — downstream effects may not be immediately visible at the Node.js layer and may require monitoring of upstream caches and proxies.

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_oracle9.1MEDIUM
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.