Medium · published March 31, 2026
A memory leak occurs in Node.js HTTP/2 servers when a client sends WINDOW_UPDATE frames on stream 0 (connection-level) that cause the flow control window to exceed the maximum value of 2³¹-1. The server correctly sends a GOAWAY frame, but the Http2Session object is never cleaned up.
This vulnerability affects HTTP2 users on Node.js 20, 22, 24 and 25.
| Product | Versions | Fixed in |
|---|---|---|
| nodejs/node.js | ≤ 20.20.1 | — |
| nodejs/node.js | ≥ 22.0.0, ≤ 22.22.1 | — |
| nodejs/node.js | ≥ 24.0.0, ≤ 24.14.0 | — |
| nodejs/node.js | ≥ 25.0.0, ≤ 25.8.1 | — |