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.
OS | Version | Architecture | Package | Version | Filename |
---|---|---|---|---|---|
Alpine | edge-community | noarch | nodejs-current | < 21.7.2-r0 | UNKNOWN |
Alpine | edge-main | noarch | nodejs | < 20.12.1-r0 | UNKNOWN |
Alpine | 3.17-main | noarch | nodejs | < 18.20.1-r0 | UNKNOWN |
Alpine | 3.18-main | noarch | nodejs | < 18.20.1-r0 | UNKNOWN |
Alpine | 3.19-community | noarch | nodejs-current | < 21.7.2-r0 | UNKNOWN |
Alpine | 3.19-main | noarch | nodejs | < 20.12.1-r0 | UNKNOWN |
Alpine | 3.20-community | noarch | nodejs-current | < 21.7.2-r0 | UNKNOWN |
Alpine | 3.20-main | noarch | nodejs | < 20.12.1-r0 | UNKNOWN |