Related Vulnerabilities: CVE-2024-27983  

An attacker can make the Node.js HTTP/2 server completely unavailable by sending a small amount of HTTP/2 frames packets with a few HTTP/2 frames inside. It is possible to leave some data in nghttp2 memory after reset when headers with HTTP/2 CONTINUATION frame are sent to the server and then a TCP connection is abruptly closed by the client triggering the Http2Session destructor while header frames are still being processed (and stored in memory) causing a race condition. This vulnerability affects all users in all active release lines: 18.x, 20.x and, 21.x

Severity High

Remote Yes

Type Denial of service

Description

An attacker can make the Node.js HTTP/2 server completely unavailable by sending a small amount of HTTP/2 frames packets with a few HTTP/2 frames inside. It is possible to leave some data in nghttp2 memory after reset when headers with HTTP/2 CONTINUATION frame are sent to the server and then a TCP connection is abruptly closed by the client triggering the Http2Session destructor while header frames are still being processed (and stored in memory) causing a race condition.

This vulnerability affects all users in all active release lines: 18.x, 20.x and, 21.x

AVG-2854 nodejs-lts-hydrogen 18.18.2-2 18.20.1-1 High Vulnerable

AVG-2853 nodejs-lts-iron 20.11.1-1 20.12.1-1 High Vulnerable

AVG-2852 nodejs 21.7.1-1 21.7.2-1 High Vulnerable

https://nodejs.org/en/blog/vulnerability/april-2024-security-releases/#assertion-failed-in-nodehttp2http2sessionhttp2session-leads-to-http2-server-crash-cve-2024-27983---high

This vulnerability affects all users in all active release lines: 18.x, 20.x and, 21.x