CVE-2026-87776
massUnauthenticated DoS via zlib memory leak in Node.js/Express compression middleware
CVE-2026-87776 is a memory leak (CWE-401, CWE-459) in the compression middleware for Node.js and Express: when a client aborts the connection while a compressed response is still being sent, the zlib stream created to compress that response is never destroyed, so its native memory is never freed. A remote, unauthenticated attacker triggers the flaw simply by repeatedly opening requests and disconnecting early, with each aborted compressed response leaking native zlib memory. The attacker gains a denial of service, because the leaked memory accumulates until the server exhausts available memory and crashes; there is no confidentiality or confidentiality-adjacent impact (CVSS availability-only, A:H). All applications using the compression middleware in versions before 1.8.2 are affected. There is no public proof of concept, the flaw is not in the CISA KEV catalog, and no exploitation is currently known.
What to do: Upgrade the compression package to version 1.8.2 or later and verify the resolved version in your lockfile and dependency tree. Where upgrading is not immediately possible, reduce exposure by rate-limiting or monitoring for repeated early client disconnects, placing buffering proxies in front of the Node server, and alerting on rising process memory usage as an early indicator of exploitation.
| compression maintainers (Node.js/Express middleware) compression (npm package) | all versions before 1.8.2 (< 1.8.2) |
Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.
compression is a Node.js and Express compression middleware. In versions before 1.8.2, when a client aborts the connection while a compressed response is still being sent, the zlib stream created to compress that response is never destroyed, so each aborted compressed response leaks its native zlib memory. A remote unauthenticated attacker can repeatedly open requests and disconnect early, exhausting the available memory and crashing the server. All applications using compression are affected. The issue is fixed in compression 1.8.2, and users should upgrade to 1.8.2 or later.
- Weakness
- CWE-401, CWE-459
- Vector
- CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
In the news0 stories
No ingested article mentions this CVE yet.