mediumCVSS 6.5Vulnerability

CVE-2026-52733

### Am I affected You are affected if: 1. You run `zebrad` up to and including `v4.4.1`. 2. Your node participates in a network where chain forks occur (mainnet, testnet, or any network with multiple miners). All default configurations are affected. The corruption persists across restarts because it is written to RocksDB. ### Summary When `pop_tip` removes the tip block during a chain fork, stale Sapling and Orchard note commitment subtree root data is retained in the in-memory non-finalized state. When the chain subsequently finalizes, this stale data is written to the persistent RocksDB state. The corrupted subtree root history affects `z_getsubtreesbyindex` (used by lightwalletd for wallet synchronization) and could affect future chain verification that depends on correct subtree roots. ### Details The non-finalized state provides two methods for removing blocks: `pop_root` (removes the oldest block during finalization) and `pop_tip` (removes the newest block during a fork revert). `pop_root` correctly cleans up note commitment subtree contributions. `pop_tip` does not: it removes the block but retains the block's subtree root contributions in the in-memory state. When a chain fork occurs and `pop_tip` reverts the old tip, the winning fork's chain is extended. When that chain is later finalized, the stale subtree data from the reverted blocks is included in the RocksDB write batch and persisted to disk. The `pop_root`/`pop_tip` asymmetry is specific to subtree root handling. Other state managed by `pop_tip` (nullifiers, UTXOs, anchors, block hashes) uses different cleanup patterns that are not affected. ### Patches zebra-state 7.0.0 and zebrad 4.5.0. The fix adds subtree root cleanup to `pop_tip` matching the pattern already used by `pop_root`. ### Workarounds There is no configuration-level workaround. Chain forks are natural events on any Proof-of-Work network. Operators can mitigate the downstream impact by periodically verifying subtree root con

Properties

ghsa_id
GHSA-2gf8-q9rr-jq3h
severity
medium
summary
zebrad has persistent on-disk corruption of Sapling/Orchard subtree roots after chain fork via pop_tip
cvss_score
6.5
cve_id
CVE-2026-52733
cvss_vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:L
is_ghsa_only
false
ghsa_published
2026-07-02T20:11:36Z
source_url
https://github.com/advisories/GHSA-2gf8-q9rr-jq3h
ghsa_updated
2026-07-02T20:11:37Z

Related Entities (7)

REPORTED_BY (1)

[Source]GitHub Advisory Database

VULNERABLE_TO (2)

[Software]rust/zebrad
[Software]rust/zebra-state

AFFECTS (2)

[Software]rust/zebra-state
[Software]rust/zebrad

HAS_WEAKNESS (2)

[Weakness]Operation on a Resource after Expiration or Release
[Weakness]Incomplete Cleanup

Explore deeper with Ninja Signal's threat intelligence graph

CVE-2026-52733 (CVSS 6.5) — Ninja Signal Threat Intelligence | Ninja Signal