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 products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
NodeJS Node
Default version status: unaffected
4.0 to < 4.*affected5.0 to < 5.*affected6.0 to < 6.*affected7.0 to < 7.*affected8.0 to < 8.*affected9.0 to < 9.*affected10.0 to < 10.*affected11.0 to < 11.*affected12.0 to < 12.*affected13.0 to < 13.*affected14.0 to < 14.*affected15.0 to < 15.*affected16.0 to < 16.*affected17.0 to < 17.*affected18.0 to < 18.20.1affected19.0 to < 19.*affected20.0 to < 20.12.1affected21.0 to < 21.7.2affected
References
- https://hackerone.com/reports/2319584 ↗
- https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/JDECX4BYZLMM4S4LALN4DPZ2HUTTPLKE/ ↗
- https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/YDVFUH7ACZPYB3BS4SVILNOY7NQU73VW/ ↗
- http://www.openwall.com/lists/oss-security/2024/04/03/16 ↗
- https://security.netapp.com/advisory/ntap-20240510-0002/ ↗
- https://lists.debian.org/debian-lts-announce/2024/09/msg00029.html ↗
- https://www.kb.cert.org/vuls/id/421644 ↗