Internet Bug Bounty · Report #2375446
http: Reading unprocessed HTTP request with unbounded chunk extension allows DoS attacks
Summary
Reading unprocessed HTTP request with unbounded chunk extension allows DoS attacks (CVE-2024-22019) - (High) A vulnerability in Node.js HTTP servers allows an attacker to send a specially crafted HTTP request with chunked encoding, leading to resource exhaustion and denial of service (DoS).
The server reads an unbounded number of bytes from a single connection, exploiting the lack of limitations on chunk extension bytes.
The issue can cause CPU and network bandwidth exhaustion, bypassing standard safeguards like timeouts and body size limits.
Impacts:
This vulnerability affects all users in all active release lines: 18.x, 20.x, and 21.x. Thank you, to Bartek Nowotarski for reporting this vulnerability and thank you Paolo Insogna for fixing it.
Full Security Advisory: https://nodejs.org/en/blog/vulnerability/february-2024-security-releases
How it was found
I'd like to report Node.js vulnerability (CVE-2024-22019) that was recently fixed:
- HackerOne report: https://hackerone.com/reports/2233486
- Release notes: https://nodejs.org/en/blog/vulnerability/february-2024-security-releases
Impact
This is a major issue because it allows unbounded resource (CPU, network bandwidth) consumption of the standard Node.js http server. The standard methods which could help blocking a malicious requests like timeouts and limiting request body size do not seem to work.