CVE-2026-87776
compression vulnerable to Denial of Service via memory leak on premature response close
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.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- None
- Integrity
- None
- Availability
- High
Exploit likelihood
What each source reports
CVE List Score used
7.5
compression vulnerable to Denial of Service via memory leak on premature response close
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.
- Record
CVE-2026-87776- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-401, CWE-459
- Updated
- 2026-11-02
EUVDEUVD-2026-76072
7.5
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.
- Record
EUVD-2026-76072- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-vc2v-76pw-4v95
7.5
compression vulnerable to Denial of Service via memory leak on premature response close
Impact
A vulnerability in compression < 1.8.2 allows an attacker to trigger a Denial of Service (DoS) by disconnecting while a compressed response is being sent. When the client aborts the connection before the response finishes, the zlib stream created to compress that response is never destroyed, so each aborted compressed response leaks its native zlib memory. Repeated aborted requests can exhaust available memory. All applications using compression are affected.
Patches
Users should upgrade to 1.8.2.
Workarounds
None.
- Record
GHSA-vc2v-76pw-4v95- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-401, CWE-459
- Updated
- 2026-11-02
NVD
7.5
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.
- Record
CVE-2026-87776- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-401, CWE-459
- Updated
- 2026-11-02
OSV
7.5
compression vulnerable to Denial of Service via memory leak on premature response close
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.
- Record
CVE-2026-87776- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-401, CWE-459
- Updated
- 2026-11-02
OSVDEBIAN-CVE-2026-87776
7.5
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.
- Record
DEBIAN-CVE-2026-87776- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
Show 9 moreShow less
OSVGHSA-vc2v-76pw-4v95
7.5
compression vulnerable to Denial of Service via memory leak on premature response close
Impact
A vulnerability in compression < 1.8.2 allows an attacker to trigger a Denial of Service (DoS) by disconnecting while a compressed response is being sent. When the client aborts the connection before the response finishes, the zlib stream created to compress that response is never destroyed, so each aborted compressed response leaks its native zlib memory. Repeated aborted requests can exhaust available memory. All applications using compression are affected.
Patches
Users should upgrade to 1.8.2.
Workarounds
None.
- Record
GHSA-vc2v-76pw-4v95- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-401, CWE-459
- Updated
- 2026-11-02
OSVUBUNTU-CVE-2026-87776
7.5
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.
- Record
UBUNTU-CVE-2026-87776- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
OSVAZL-101778 No score
CVE-2026-87776 affecting package python-tensorboard 2.16.2-6
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.
- Record
AZL-101778- Updated
- 2026-11-02
OSVCLSA-2026-1791278863 No score
TuxCare security update for compression (1 CVE)
TuxCare rebuilt compression to address 1 CVE. Fixed in 1.5.2-tuxcare.1.
- Record
CLSA-2026-1791278863- Updated
- 2026-11-02
OSVCLSA-2026-1792473493 No score
TuxCare security update for compression (1 CVE)
TuxCare rebuilt compression to address 1 CVE. Fixed in 1.7.3-tuxcare.1.
- Record
CLSA-2026-1792473493- Updated
- 2026-11-02
OSVCLSA-2026-1792473778 No score
TuxCare security update for compression (1 CVE)
TuxCare rebuilt compression to address 1 CVE. Fixed in 1.7.5-tuxcare.1.
- Record
CLSA-2026-1792473778- Updated
- 2026-11-02
OSVCLSA-2026-1792489791 No score
TuxCare security update for compression (1 CVE)
TuxCare rebuilt compression to address 1 CVE. Fixed in 1.8.1-tuxcare.1.
- Record
CLSA-2026-1792489791- Updated
- 2026-11-02
OSVCLSA-2026-1792490254 No score
TuxCare security update for compression (1 CVE)
TuxCare rebuilt compression to address 1 CVE. Fixed in 1.7.4-tuxcare.1.
- Record
CLSA-2026-1792490254- Updated
- 2026-11-02
OSVROOT-APP-NPM-CVE-2026-87776 No score
CVE-2026-87776 in compression - Patched by Root
Root has patched CVE-2026-87776 in the compression package for Root:npm. Multiple fixed versions available.
- Record
ROOT-APP-NPM-CVE-2026-87776- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
compressionnpm |
before 1.8.2 | 1.8.2 |
python-tensorboardAzure Linux:3 |
through 2.16.2-6 | None known |
compressionTuxCare:npm |
1.5.2-tuxcare.0 up to 1.5.2-tuxcare.1, plus listed versions 1.5.2 |
1.5.2-tuxcare.1 |
compressionTuxCare:npm |
1.7.3-tuxcare.0 up to 1.7.3-tuxcare.1, plus listed versions 1.7.3 |
1.7.3-tuxcare.1 |
compressionTuxCare:npm |
1.7.5-tuxcare.0 up to 1.7.5-tuxcare.1, plus listed versions 1.7.5 |
1.7.5-tuxcare.1 |
compressionTuxCare:npm |
1.8.1-tuxcare.0 up to 1.8.1-tuxcare.1, plus listed versions 1.8.1 |
1.8.1-tuxcare.1 |
compressionTuxCare:npm |
1.7.4-tuxcare.0 up to 1.7.4-tuxcare.1, plus listed versions 1.7.4 |
1.7.4-tuxcare.1 |
node-compressionDebian:12 |
All versions, plus listed versions 1.7.4-31.8.1-11.8.2+~1.8.1-1 |
None known |
node-compressionDebian:13 |
All versions, plus listed versions 1.7.4-31.8.1-11.8.2+~1.8.1-1 |
None known |
node-compressionDebian:14 |
before 1.8.2+~1.8.1-1, plus listed versions 1.7.4-31.8.1-1 |
1.8.2+~1.8.1-1 |
Show 9 moreShow less
| Package | Affected | Fixed |
|---|---|---|
compressionRoot:npm |
before 1.7.5-aikido.1 | 1.7.5-aikido.11.7.4-aikido.11.8.1-aikido.1 |
@rootio/compressionRoot:npm |
before 1.7.5-root.io.1 | 1.7.5-root.io.11.7.4-root.io.11.8.1-root.io.1 |
node-compressionUbuntu:16.04:LTS |
All versions, plus listed versions 1.1.0-1 |
None known |
node-compressionUbuntu:18.04:LTS |
All versions, plus listed versions 1.1.0-1 |
None known |
node-compressionUbuntu:20.04:LTS |
All versions, plus listed versions 1.7.4-2 |
None known |
node-compressionUbuntu:22.04:LTS |
All versions, plus listed versions 1.7.4-21.7.4-3 |
None known |
node-compressionUbuntu:24.04:LTS |
All versions, plus listed versions 1.7.4-3 |
None known |
node-compressionUbuntu:26.10 |
All versions, plus listed versions 1.7.4-31.8.1-1 |
None known |
node-compressionUbuntu:26.04:LTS |
All versions, plus listed versions 1.7.4-3 |
None known |
History
| Recorded | Changed | Sources |
|---|---|---|
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-87776 is a high vulnerability (CVSS 7.5) in Compression, published September 11, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.48%, the 41st percentile. Fixed in compression 1.8.2.
References
github.com/expressjs/compression/security/advisories/GHSA-vc2v-76pw-4v95
cna.openjsf.org/security-advisories.html
nvd.nist.gov/vuln/detail/CVE-2026-87776
github.com/expressjs/compression/commit/151f63e91e1b64f8fb0b064e19321a4f28db6bff
github.com/expressjs/compression/releases/tag/v1.8.2
github.com/advisories/GHSA-vc2v-76pw-4v95