Every CVE Search/ Get API key

CVE-2026-77640

tor before 0.4.9.9 was prone to an infinite loop when decompressing a truncated zlib/gzip stream...

3.7 LowFix available

tor before 0.4.9.9 was prone to an infinite loop when decompressing a truncated zlib/gzip stream with done=1. A truncated stream never reaches Z_STREAM_END, causing zlib to return Z_BUF_ERROR with no input remaining, which buf_add_compress() mistook for a full output buffer and retried forever. Fixed by returning TOR_COMPRESS_ERROR in that case so the caller can abort cleanly. This is TROVE-2026-021.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
High
Privileges needed
None
User interaction
None

What an attacker can affect

Confidentiality
None
Integrity
None
Availability
Low

Exploit likelihood

0.38%Up 0.2 points since Aug 21, 2026
90%50%10%1%

What each source reports

CVE List Score used 3.7

tor before 0.4.9.9 was prone to an infinite loop when decompressing a truncated zlib/gzip stream with done=1. A truncated stream never reaches Z_STREAM_END, causing zlib to return Z_BUF_ERROR with no input remaining, which buf_add_compress() mistook for a full output buffer and retried forever. Fixed by returning TOR_COMPRESS_ERROR in that case so the caller can abort cleanly. This is TROVE-2026-021.

Record
CVE-2026-77640
CVSS 3.1
3.7 LowCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L
Weakness
CWE-1284
Updated
2026-11-02
EUVDEUVD-2026-63650 3.7

tor before 0.4.9.9 was prone to an infinite loop when decompressing a truncated zlib/gzip stream with done=1. A truncated stream never reaches Z_STREAM_END, causing zlib to return Z_BUF_ERROR with no input remaining, which buf_add_compress() mistook for a full output buffer and retried forever. Fixed by returning TOR_COMPRESS_ERROR in that case so the caller can abort cleanly. This is TROVE-2026-021.

Record
EUVD-2026-63650
CVSS 3.1
3.7 LowCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L
Updated
2026-11-02
GitHub AdvisoriesGHSA-5g6h-2vr8-m7f4 3.7

tor before 0.4.9.9 was prone to an infinite loop when decompressing a truncated zlib/gzip stream...

tor before 0.4.9.9 was prone to an infinite loop when decompressing a truncated zlib/gzip stream with done=1. A truncated stream never reaches Z_STREAM_END, causing zlib to return Z_BUF_ERROR with no input remaining, which buf_add_compress() mistook for a full output buffer and retried forever. Fixed by returning TOR_COMPRESS_ERROR in that case so the caller can abort cleanly. This is TROVE-2026-021.

Record
GHSA-5g6h-2vr8-m7f4
CVSS 3.1
3.7 LowCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L
Weakness
CWE-1284
Updated
2026-11-02
NVD 3.7

tor before 0.4.9.9 was prone to an infinite loop when decompressing a truncated zlib/gzip stream with done=1. A truncated stream never reaches Z_STREAM_END, causing zlib to return Z_BUF_ERROR with no input remaining, which buf_add_compress() mistook for a full output buffer and retried forever. Fixed by returning TOR_COMPRESS_ERROR in that case so the caller can abort cleanly. This is TROVE-2026-021.

Record
CVE-2026-77640
CVSS 3.1
3.7 LowCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L
CVSS 3.1
5.3 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
Weakness
CWE-1284
Updated
2026-11-02
OSV 3.7

tor before 0.4.9.9 was prone to an infinite loop when decompressing a truncated zlib/gzip stream with done=1. A truncated stream never reaches Z_STREAM_END, causing zlib to return Z_BUF_ERROR with no input remaining, which buf_add_compress() mistook for a full output buffer and retried forever. Fixed by returning TOR_COMPRESS_ERROR in that case so the caller can abort cleanly. This is TROVE-2026-021.

Record
CVE-2026-77640
CVSS 3.1
3.7 LowCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L
Weakness
CWE-1284
Updated
2026-11-02
OSVDEBIAN-CVE-2026-77640 5.3

tor before 0.4.9.9 was prone to an infinite loop when decompressing a truncated zlib/gzip stream with done=1. A truncated stream never reaches Z_STREAM_END, causing zlib to return Z_BUF_ERROR with no input remaining, which buf_add_compress() mistook for a full output buffer and retried forever. Fixed by returning TOR_COMPRESS_ERROR in that case so the caller can abort cleanly. This is TROVE-2026-021.

Record
DEBIAN-CVE-2026-77640
CVSS 3.1
5.3 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
Updated
2026-11-02
OSVUBUNTU-CVE-2026-77640 3.7

tor before 0.4.9.9 was prone to an infinite loop when decompressing a truncated zlib/gzip stream with done=1. A truncated stream never reaches Z_STREAM_END, causing zlib to return Z_BUF_ERROR with no input remaining, which buf_add_compress() mistook for a full output buffer and retried forever. Fixed by returning TOR_COMPRESS_ERROR in that case so the caller can abort cleanly. This is TROVE-2026-021.

Record
UBUNTU-CVE-2026-77640
CVSS 3.1
3.7 LowCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L
CVSS 3.1
5.3 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
Updated
2026-11-02
OSVMGASA-2026-0382 No score

Updated tor packages fix security vulnerabilities

An out-of-bounds write when parsing a consensus or detached signature with unexpected signature digest type (CVE-2026-77642). A NULL write after free when sending a CONFLUX_SWITCH cell fails, resulting in a crash (CVE-2026-77641). An infinite loop when decompressing a truncated zlib/gzip stream with done=1 (CVE-2026-77640). A compression bomb bypass where an attacker could concatenate many gzip or zlib sub-streams (CVE-2026-77639). A race condition where in just the right circumstances a rendezvous point could man-in-the-middle (impersonate) the onion service that the client was trying to reach (CVE-2026-77638). A use-after-free that a malicious exit node could use to crash a client (CVE-2026-77587). Tor before 0.4.9.10 did not reject a CONFLUX_LINK cell that arrives on a circuit which already has attached streams (CVE-2026-77584).

Record
MGASA-2026-0382
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
tor
Debian:12
before 0.4.9.9-1, plus listed versions
0.4.7.13-10.4.7.16-10.4.8.10-10.4.8.10-1~bpo11+10.4.8.10-1~bpo12+1
Show 41 moreShow less
0.4.8.11-10.4.8.11-1~bpo11+10.4.8.11-1~bpo12+10.4.8.12-10.4.8.12-1.10.4.8.12-1~bpo11+10.4.8.12-1~bpo12+10.4.8.13-10.4.8.13-20.4.8.13-2~bpo12+10.4.8.14-10.4.8.14-1~bpo12+10.4.8.16-10.4.8.21-10.4.8.21-1~bpo12+10.4.8.21-1~bpo13+10.4.8.21-1~bpo13+20.4.8.22-10.4.8.22-1~bpo12+10.4.8.22-1~bpo13+10.4.8.4-20.4.8.5-10.4.8.6-10.4.8.7-10.4.8.8-10.4.8.9-10.4.8.9-1~bpo11+10.4.8.9-1~bpo12+10.4.9.5-10.4.9.5-20.4.9.5-2~bpo12+10.4.9.5-2~bpo13+10.4.9.6-0+deb12u10.4.9.6-10.4.9.6-1~bpo12+10.4.9.6-1~bpo13+10.4.9.8-0+deb12u10.4.9.8-10.4.9.8-1~bpo12+10.4.9.8-1~bpo13+10.4.9.9-1~bpo13+1
0.4.9.9-1
tor
Debian:13
before 0.4.9.11-0+deb13u1, plus listed versions
0.4.8.16-10.4.8.21-10.4.8.21-1~bpo12+10.4.8.21-1~bpo13+10.4.8.21-1~bpo13+2
Show 17 moreShow less
0.4.8.22-10.4.8.22-1~bpo12+10.4.8.22-1~bpo13+10.4.9.5-10.4.9.5-20.4.9.5-2~bpo12+10.4.9.5-2~bpo13+10.4.9.6-0+deb13u10.4.9.6-10.4.9.6-1~bpo12+10.4.9.6-1~bpo13+10.4.9.8-0+deb13u10.4.9.8-10.4.9.8-1~bpo12+10.4.9.8-1~bpo13+10.4.9.9-10.4.9.9-1~bpo13+1
0.4.9.11-0+deb13u1
tor
Debian:14
before 0.4.9.9-1, plus listed versions
0.4.8.16-10.4.8.21-10.4.8.21-1~bpo12+10.4.8.21-1~bpo13+10.4.8.21-1~bpo13+2
Show 14 moreShow less
0.4.8.22-10.4.8.22-1~bpo12+10.4.8.22-1~bpo13+10.4.9.5-10.4.9.5-20.4.9.5-2~bpo12+10.4.9.5-2~bpo13+10.4.9.6-10.4.9.6-1~bpo12+10.4.9.6-1~bpo13+10.4.9.8-10.4.9.8-1~bpo12+10.4.9.8-1~bpo13+10.4.9.9-1~bpo13+1
0.4.9.9-1
tor
Mageia:10
From an advisory covering 7 CVEs
before 0.4.9.11-1.mga10
0.4.9.11-1.mga10
tor
Mageia:9
From an advisory covering 7 CVEs
before 0.4.9.11-1.mga9
0.4.9.11-1.mga9
tor
Ubuntu:Pro:14.04:LTS
All versions, plus listed versions
0.2.3.25-10.2.4.19-10.2.4.20-10.2.4.27-1build0.14.04.10.2.4.27-1ubuntu0.10.2.4.27-1ubuntu0.1+esm10.2.4.27-1ubuntu0.1+esm2
None known
tor
Ubuntu:Pro:16.04:LTS
All versions, plus listed versions
0.2.6.10-1ubuntu20.2.7.6-1ubuntu10.2.9.11-1ubuntu1~16.04.10.2.9.14-1ubuntu1~16.04.10.2.9.14-1ubuntu1~16.04.20.2.9.14-1ubuntu1~16.04.30.2.9.14-1ubuntu1~16.04.3+esm1
None known
tor
Ubuntu:Pro:18.04:LTS
All versions, plus listed versions
0.3.0.10-10.3.1.8-20.3.1.9-10.3.2.9-10.3.2.9-1build1
Show 4 moreShow less
0.3.2.10-10.3.2.10-1ubuntu0.10.3.2.10-1ubuntu0.2~esm10.3.2.10-1ubuntu0.2~esm2
None known
tor
Ubuntu:Pro:20.04:LTS
All versions, plus listed versions
0.4.1.5-10.4.1.5-1build10.4.1.6-10.4.2.5-10.4.2.6-10.4.2.7-10.4.2.7-1ubuntu0.1~esm1
None known
tor
Ubuntu:22.04:LTS
All versions, plus listed versions
0.4.5.9-10.4.6.8-10.4.6.8-1build10.4.6.9-10.4.6.10-10.4.9.11-0ubuntu0.22.04.1
None known
tor
Ubuntu:24.04:LTS
All versions, plus listed versions
0.4.8.4-20.4.8.7-10.4.8.9-10.4.8.10-10.4.8.10-1build10.4.8.10-1build20.4.9.11-0ubuntu0.24.04.1
None known
tor
Ubuntu:26.04:LTS
All versions, plus listed versions
0.4.8.16-10.4.8.21-10.4.8.22-10.4.9.6-10.4.9.11-0ubuntu0.26.04.1
None known

History

History
RecordedChangedSources
affected, facts
first indexedCVE List, EUVD, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2026-77640 is a low vulnerability (CVSS 3.7) in Torproject Tor, published August 20, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.38%, the 31st percentile. Fixed in tor 0.4.9.9-1.

References

Show 6 moreShow less
MoveEnter Open