CVE-2026-87776

compression vulnerable to Denial of Service via memory leak on premature response close

Published Sep 11, 2026 CVSS 3.1 · 7.5 High EPSS < 1% KEV · Not listed
Description
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.

Analysis

AI-generated

Technical impact

The compression middleware creates a zlib stream for each compressed response. If a client aborts the connection while data is still being written, the zlib stream is never destroyed, causing a memory leak (CWE-401), a resource leak (CWE-459), and a missing release of that resource (CWE-772). Over repeated attacks, an unauthenticated attacker can exhaust the process memory and crash the server.

Affected Systems

Any application that includes the compression module before 1.8.2 is vulnerable. The vulnerability affects all Node.js or Express servers that use this middleware for response compression, regardless of internal logic or configuration.

Risk and Exploitability

The CVSS score of 7.5 signals high severity, while the EPSS score of less than 1% indicates a low yet non‑zero exploit probability. An attacker can trigger the flaw by opening a request to a compressed endpoint and terminating it early; repeated attempts drain memory and lead to a system‑wide denial of service. The issue is not listed in the CISA KEV catalog.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade the compression middleware to version 1.8.2 or later.
  • Remove or disable the middleware if compression is not required for the application.
  • Implement request rate limiting to mitigate abort attacks.

Generated by OpenCVE AI on September 21, 2026 at 04:52 UTC.

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
Github GHSA Github GHSA GHSA-vc2v-76pw-4v95 compression vulnerable to Denial of Service via memory leak on premature response close
History
Type Values Removed Values Added
First Time appeared Expressjs
Expressjs compression
Vendors & Products Expressjs
Expressjs compression
Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}

Type Values Removed Values Added
Description 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.
Title compression vulnerable to Denial of Service via memory leak on premature response close
Weaknesses CWE-401
CWE-459
References
Metrics cvssV3_1

{'score': 7.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H'}

Weaknesses
  • CWE-401

    Missing Release of Memory after Effective Lifetime

  • CWE-459

    Incomplete Cleanup

  • CWE-772

    Missing Release of Resource after Effective Lifetime

Sources

Status
PUBLISHED
Assigner
openjs
Published
Updated
Sep 11, 2026, 1:36 PM
Reserved
Sep 9, 2026, 8:26 AM
Status
Awaiting Analysis
Published
Sep 11, 2026, 12:16 PM
Modified
Sep 16, 2026, 7:40 PM
Severity
Important
Public date
Sep 11, 2026, 11:24 AM