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.
affected:
{
defaultStatus: unaffected
vendor: Node.js
product: Node
versions:
version: 18.20.0, status: affected, lessThanOrEqual: 18.20.0, versionType: semver
version: 20.12.0, status: affected, lessThanOrEqual: 20.12.0, versionType: semver
version: 21.7.1, status: affected, lessThanOrEqual: 21.7.1, versionType: semver
}
metrics:
cvssV3_0: [
version: 3.0
vectorString: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:H
baseScore: 8.2
baseSeverity: HIGH
]