Skip to main content

Tor CVE-2026-77640

| EUVDEUVD-2026-63650 MEDIUM
Improper Validation of Specified Quantity in Input (CWE-1284)
2026-08-20 mitre GHSA-5g6h-2vr8-m7f4
5.3
CVSS 3.1 · NVD
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Establish position as malicious Tor relay
  2. Delivery
    Craft truncated zlib/gzip stream with done=1
  3. Exploit
    Deliver malformed compressed payload to victim Tor node
  4. Execution
    Trigger infinite retry loop in buf_add_compress()
  5. Impact
    Sustain CPU exhaustion on victim connection handler

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V2 - Validation and Business Logic Input size validation
Exploitation Conditions

Exploitation requires the ability to deliver a crafted, deliberately truncated zlib/gzip compressed stream to a Tor node running a version prior to 0.4.9.9. The CVSS vector (PR:N/UI:N) confirms no authentication or user interaction is required. The key limiting factor is attack complexity (AC:H): the attacker must construct a stream that is syntactically valid enough for Tor to begin decompressing but truncated in a way that exhausts zlib's input without completing the stream, triggering Z_BUF_ERROR with done=1. The most natural attack position is a malicious Tor relay node that can inject or serve compressed data to a victim relay. No non-default configuration is required - any Tor installation that processes zlib/gzip-compressed streams is affected.

Impact

The CVSS 3.7 score accurately reflects a low-to-moderate risk profile. The network attack vector (AV:N) confirms remote exploitability, but high attack complexity (AC:H) imposes a meaningful constraint: the attacker must precisely craft a truncated zlib/gzip payload that exhausts zlib's input without completing the stream, which requires non-trivial knowledge of the compression format. The availability impact is rated Low (A:L), consistent with per-connection or per-thread CPU exhaustion rather than a full daemon crash. No EPSS data was provided, leaving exploitation probability unquantified from that signal; the absence of a CISA KEV listing means no confirmed active exploitation is on record. There is no public exploit code identified at time of analysis. The practical threat is most relevant to operators running public Tor relays or bridges that process compressed traffic from untrusted peers - a targeted attacker controlling a malicious relay could abuse this to degrade a victim node's performance, but the high complexity and limited availability impact mean most deployments can treat this as a routine patch-cycle priority rather than emergency response.

Exploit ScenarioDerived

An attacker controlling a malicious Tor relay sends a zlib/gzip-compressed stream to a victim Tor node running a version prior to 0.4.9.9, deliberately truncating the stream so it never emits Z_STREAM_END. The victim node's buf_add_compress() function enters an infinite loop, consuming CPU on that connection handler without bound. No public exploit code has been identified, and high attack complexity (AC:H) requires precise crafting of the malformed payload.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Aug 20, 2026

Infinite loop denial-of-service in Tor before 0.4.9.9 allows a remote, unauthenticated attacker to cause sustained CPU exhaustion on a vulnerable node by delivering a crafted truncated zlib/gzip compressed stream. The root cause is in buf_add_compress(), which misinterpreted zlib's Z_BUF_ERROR return (no remaining input) as a full output buffer requiring retry, looping forever without progress. No public exploit has been identified at time of analysis, and the CVSS score of 3.7 with high attack complexity (AC:H) limits practical exploitation to adversaries capable of precisely crafting malformed compressed payloads reachable by a Tor node.

RemediationAI

Upgrade to Tor version 0.4.9.9 or later, which resolves TROVE-2026-021 by modifying buf_add_compress() to return TOR_COMPRESS_ERROR when zlib signals Z_BUF_ERROR with no remaining input, allowing callers to abort cleanly rather than retry indefinitely. The fix is confirmed in the Tor Project ChangeLog at https://gitlab.torproject.org/tpo/core/tor/-/raw/tor-0.4.9.9/ChangeLog. If immediate upgrade is not feasible, a compensating control is to monitor for anomalous sustained CPU spikes on Tor relay processes as an indicator of exploitation, and to rate-limit or restrict compressed data handling from untrusted peers where the Tor configuration permits; however, these controls offer limited protection given the network attack vector and should not substitute for patching.

Affected VersionsENISA

Tor 0.2.6.1-alpha <0.4.9.9

Affected Packages

euvd tor fix: 0.4.9.9

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Tor uses zlib/gzip stream decompression internally via its buf_add_compress() function. CWE-1284 (Improper Validation of Specified Quantity in Input) describes the root cause class: when a compressed stream is truncated, zlib never emits the Z_STREAM_END sentinel. Instead, once all input is consumed without progress, zlib returns Z_BUF_ERROR. The vulnerable code incorrectly treated this condition as an indication that the output buffer was full and needed draining, causing it to re-invoke zlib with zero remaining input indefinitely. The correct handling - returning TOR_COMPRESS_ERROR - was introduced in 0.4.9.9 so callers can abort cleanly. The CPE string cpe:2.3:a:torproject:tor:*:*:*:*:*:*:*:* confirms all Tor application releases across all platforms are affected up to this fix. The vulnerability is tracked internally as TROVE-2026-021.

Know when Tor gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (mitre) PRIMARY LOW
NVD 5.3 MEDIUM
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
vuln.today AI 3.7 LOW

Network vector confirmed by Tor's relay architecture; AC:H reflects precision required to craft a valid truncated zlib stream; A:L because impact is per-connection CPU exhaustion, not daemon-wide crash.

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L
4.0 AV:N/AC:H/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N

Primary rating from Vendor (mitre).

CVSS VectorNVD

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
Low

Lifecycle Timeline

3
Severity Changed
Sep 08, 2026 - 18:37 NVD
LOW MEDIUM
CVSS changed
Sep 08, 2026 - 18:37 NVD
3.7 (LOW) 5.3 (MEDIUM)
Patch available
Aug 20, 2026 - 22:04 EUVD

DescriptionNVD

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.

Threat Intelligence Overview

EPSS Score
0.2%
Top 88% exploitable
Prevalence
Low
specialized privacy/anonymity routing tool, not general-purpose enterprise software
Data Quality
6 sources
Confidence: High

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Defer
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Low
Technical Impact
Partial

Priority Score

26
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +26
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

More in Tor

View all
CVE-2017-16541 MEDIUM POC
6.5 Nov 04

Tor Browser before 7.0.9 on macOS and Linux allows remote attackers to bypass the intended anonymity feature and discove

CVE-2021-38385 HIGH POC
7.5 Aug 30

Tor before 0.3.5.16, 0.4.5.10, and 0.4.6.7 mishandles the relationship between batch-signature verification and single-s

CVE-2018-0491 HIGH POC
7.5 Mar 05

A use-after-free issue was discovered in Tor 0.3.2.x before 0.3.2.10. Rated high severity (CVSS 7.5), this vulnerability

CVE-2023-23589 MEDIUM POC
6.5 Jan 14

The SafeSocks option in Tor before 0.4.7.13 has a logic error in which the unsafe SOCKS4 protocol can be used but not th

CVE-2026-77642 CRITICAL
9.3 Aug 20

Out-of-bounds write in The Tor Project's tor daemon (0.2.8.2-alpha through versions before 0.4.9.9) can be triggered whe

CVE-2020-8516 MEDIUM POC
5.3 Feb 02

The daemon in Tor through 0.4.1.8 and 0.4.2.x through 0.4.2.6 does not verify that a rendezvous node is known before att

CVE-2026-44603 CRITICAL
9.1 May 07

Out-of-bounds read by one byte in Tor before version 0.4.9.7 when processing malformed BEGIN cells allows remote unauthe

CVE-2026-44597 CRITICAL
9.1 May 07

An out-of-bounds read in Tor before 0.4.9.7 can be triggered by a malicious circuit participant sending an END, TRUNCATE

CVE-2026-77638 CRITICAL
9.0 Aug 20

Rendezvous-point impersonation in Tor before 0.4.9.11 lets a malicious relay that a client happens to select as its rend

CVE-2026-77641 HIGH
8.2 Aug 20

Write-after-free in Tor's conflux (traffic-splitting) subsystem allows a remote unauthenticated attacker to crash a Tor

CVE-2026-77584 HIGH
8.2 Aug 20

Use-after-free in Tor's conflux circuit handling allows a malicious Tor client to corrupt relay memory by sending a RELA

CVE-2017-8823 HIGH
8.1 Dec 03

In Tor before 0.2.5.16, 0.2.6 through 0.2.8 before 0.2.8.17, 0.2.9 before 0.2.9.14, 0.3.0 before 0.3.0.13, and 0.3.1 bef

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy