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.
https://www.cisa.gov/news-events/ics-advisories/icsa-24-319-08
https://nowotarski.info/http2-continuation-flood/
https://kb.cert.org/vuls/id/421644
https://security.netapp.com/advisory/ntap-20240510-0002/