// For flags

CVE-2021-22960

llhttp: HTTP Request Smuggling when parsing the body of chunked requests

Severity Score

6.5
*CVSS v3.1

Exploit Likelihood

*EPSS

Affected Versions

*CPE

Public Exploits

1
*Multiple Sources

Exploited in Wild

-
*KEV

Decision

-
*SSVC
Descriptions

The parse function in llhttp < 2.1.4 and < 6.0.6. ignores chunk extensions when parsing the body of chunked requests. This leads to HTTP Request Smuggling (HRS) under certain conditions.

La función parse en llhttp versiones anteriores a 2.1.4 y versiones anteriores a 6.0.6. ignora las extensiones chunk cuando analiza el cuerpo de las peticiones chunked. Esto conlleva a un Contrabando de Peticiones HTTP (HRS) bajo determinadas condiciones

An HTTP Request Smuggling (HRS) vulnerability was found in the llhttp library, used by Node.JS. During the parsing of chunked messages, the chunk size parameter was not validated properly. In situations where HTTP conversations are being proxied (such as proxy, reverse-proxy, load-balancer), an attacker can use this flaw to inject arbitrary messages through the proxy. The highest threat from this vulnerability is to confidentiality and integrity.

An update that fixes 7 vulnerabilities is now available. This update for nodejs12 fixes the following issues. Fixed HTTP Request Smuggling due to spaced in headers. Fixed HTTP Request Smuggling when parsing the body. Fixed arbitrary file creation and overwrite in nodejs-tar. Fixed arbitrary file creation and overwrite in nodejs-tar. Fixed arbitrary code execution and file creation and overwrite in nodejs-tar. Fixed symling following vulnerability in nodejs-arborist. Fixed symling following vulnerability in nodejs-arborist. This update was imported from the SUSE:SLE-15-SP2:Update update project.

*Credits: N/A
CVSS Scores
Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
Low
Integrity
Low
Availability
None
Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
Required
Scope
Changed
Confidentiality
Low
Integrity
Low
Availability
None
Attack Vector
Network
Attack Complexity
Medium
Authentication
None
Confidentiality
Partial
Integrity
Partial
Availability
None
* Common Vulnerability Scoring System
SSVC
  • Decision:-
Exploitation
-
Automatable
-
Tech. Impact
-
* Organization's Worst-case Scenario
Timeline
  • 2021-01-06 CVE Reserved
  • 2021-11-03 CVE Published
  • 2025-04-30 CVE Updated
  • 2025-04-30 First Exploit
  • 2025-07-05 EPSS Updated
  • ---------- Exploited in Wild
  • ---------- KEV Due Date
CWE
  • CWE-444: Inconsistent Interpretation of HTTP Requests ('HTTP Request/Response Smuggling')
CAPEC
Affected Vendors, Products, and Versions
Vendor Product Version Other Status
Vendor Product Version Other Status <-- --> Vendor Product Version Other Status
Llhttp
Search vendor "Llhttp"
Llhttp
Search vendor "Llhttp" for product "Llhttp"
< 2.1.4
Search vendor "Llhttp" for product "Llhttp" and version " < 2.1.4"
node.js
Affected
Llhttp
Search vendor "Llhttp"
Llhttp
Search vendor "Llhttp" for product "Llhttp"
>= 3.0.0 < 6.0.6
Search vendor "Llhttp" for product "Llhttp" and version " >= 3.0.0 < 6.0.6"
node.js
Affected
Oracle
Search vendor "Oracle"
Graalvm
Search vendor "Oracle" for product "Graalvm"
20.3.4
Search vendor "Oracle" for product "Graalvm" and version "20.3.4"
enterprise
Affected
Oracle
Search vendor "Oracle"
Graalvm
Search vendor "Oracle" for product "Graalvm"
21.3.0
Search vendor "Oracle" for product "Graalvm" and version "21.3.0"
enterprise
Affected
Debian
Search vendor "Debian"
Debian Linux
Search vendor "Debian" for product "Debian Linux"
11.0
Search vendor "Debian" for product "Debian Linux" and version "11.0"
-
Affected