---
id: CVE-2026-52734
title: ZEBRA is a Zcash node written entirely in Rust
summary: >-
  ZEBRA is a Zcash node written entirely in Rust. Prior to 4.5.0, an
  unauthenticated P2P peer can cause the mempool download pipeline to retain
  transactions after verification reaches the outer RATE_LIMIT_DELAY timeout. In
  zebrad/src/compo…
severity: medium
cvss: 5.3
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L'
cwe:
  - CWE-401
vendor: zebrad
product: zebrad
affected:
  - zebrad <= 4.4.1
patched:
  - zebrad 4.5.0
published: '2026-08-18'
updated: '2026-09-09'
sourceUpdated: '2026-09-09T21:13:25.910'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-52734'
references:
  - url: >-
      https://github.com/ZcashFoundation/zebra/commit/1440b43ca7df59aca948090d45117557b217a6cd
    label: security-advisories@github.com
  - url: 'https://github.com/ZcashFoundation/zebra/releases/tag/v4.5.0'
    label: security-advisories@github.com
  - url: >-
      https://github.com/ZcashFoundation/zebra/security/advisories/GHSA-65jj-fmw8-468q
    label: security-advisories@github.com
  - url: >-
      https://github.com/ZcashFoundation/zebra/blob/d4cd662c716382f6397d2a730148025a1ca79fec/zebrad/src/components/mempool.rs#L663-L672
  - url: >-
      https://github.com/ZcashFoundation/zebra/blob/d4cd662c716382f6397d2a730148025a1ca79fec/zebrad/src/components/mempool/downloads.rs#L215-L228
  - url: 'https://github.com/advisories/GHSA-65jj-fmw8-468q'
tags:
  - nvd
  - ghsa
  - rust
epss: 0.00507
epssPercentile: 0.40704
ecosystem: rust
ingestedAt: '2026-07-02T20:42:45.688Z'
---

## Overview

ZEBRA is a Zcash node written entirely in Rust. Prior to 4.5.0, an unauthenticated P2P peer can cause the mempool download pipeline to retain transactions after verification reaches the outer RATE_LIMIT_DELAY timeout. In zebrad/src/components/mempool/downloads.rs, Downloads::poll_next removed cancel_handles entries after success and ordinary verification errors, but tokio::time::error::Elapsed did not carry the UnminedTxId needed to remove the timed-out entry. Each retained cancel_handles entry could hold a full Gossip::Tx(UnminedTx), while normal mined-transaction cleanup could not match attacker transactions and no periodic garbage collection or count cap existed. Sustained traffic therefore caused monotonic memory growth until swap pressure degraded the node or the operating system terminated the zebrad process for exhausting memory. This issue is fixed in version 4.5.0.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.

## Package advisory (CVE-2026-52734)

Affected packages:

- `zebrad <= 4.4.1`

Patched in:

- `zebrad 4.5.0`

Source: https://github.com/advisories/GHSA-65jj-fmw8-468q
