← Back to CVE Explorer

CVE-2026-52733

Full vulnerability record from the local CVENow database.

Description

ZEBRA is a Zcash node written entirely in Rust. Prior to 4.5.0, a natural or attacker-influenced chain fork can leave stale Sapling and Orchard note-commitment subtree roots in Zebra state. In zebra-state/src/service/non_finalized_state/chain.rs, Chain::pop_tip removed a reverted tip block but did not remove subtree entries whose end_height belonged to that block, unlike the cleanup performed by pop_root. When the winning fork later finalized, the abandoned branch's stale subtree data could be written to RocksDB and survive node restarts. The corrupted history can cause z_getsubtreesbyindex consumers such as lightwalletd and light wallets to receive incorrect subtree roots, producing wallet synchronization failures or incorrect wallet state and requiring a full state rebuild for recovery. This issue is fixed in version 4.5.0.

Severity
MEDIUM
CVSS score
6.5 (v3.1)
Vulnerability status
Deferred
Source identifier
Published
2026-08-18 20:17:16.920000
Last modified
2026-11-09 20:10:00.200000
View original CVE JSON
{
  "id": "CVE-2026-52733",
  "sourceIdentifier": "[email protected]",
  "published": "2026-08-18T20:17:16.920",
  "lastModified": "2026-11-09T20:10:00.200",
  "vulnStatus": "Deferred",
  "cveTags": [],
  "descriptions": [
    {
      "lang": "en",
      "value": "ZEBRA is a Zcash node written entirely in Rust. Prior to 4.5.0, a natural or attacker-influenced chain fork can leave stale Sapling and Orchard note-commitment subtree roots in Zebra state. In zebra-state/src/service/non_finalized_state/chain.rs, Chain::pop_tip removed a reverted tip block but did not remove subtree entries whose end_height belonged to that block, unlike the cleanup performed by pop_root. When the winning fork later finalized, the abandoned branch's stale subtree data could be written to RocksDB and survive node restarts. The corrupted history can cause z_getsubtreesbyindex consumers such as lightwalletd and light wallets to receive incorrect subtree roots, producing wallet synchronization failures or incorrect wallet state and requiring a full state rebuild for recovery. This issue is fixed in version 4.5.0."
    },
    {
      "lang": "es",
      "value": "ZEBRA es un nodo Zcash escrito completamente en Rust. Antes de la versión 4.5.0, una bifurcación de cadena natural o influenciada por un atacante puede dejar raíces de subárbol de compromiso de notas Sapling y Orchard obsoletas en el estado de Zebra. En zebra-state/src/service/non_finalized_state/chain.rs, Chain::pop_tip eliminó un bloque de punta revertido pero no eliminó las entradas de subárbol cuyo end_height pertenecía a ese bloque, a diferencia de la limpieza realizada por pop_root. Cuando la bifurcación ganadora se finalizó más tarde, los datos de subárbol obsoletos de la rama abandonada podrían escribirse en RocksDB y sobrevivir a los reinicios del nodo. El historial corrupto puede causar que los consumidores de z_getsubtreesbyindex, como lightwalletd y las carteras ligeras, reciban raíces de subárbol incorrectas, produciendo fallos de sincronización de la cartera o un estado de cartera incorrecto y requiriendo una reconstrucción completa del estado para la recuperación. Este problema está solucionado en la versión 4.5.0."
    }
  ],
  "affected": [
    {
      "source": "[email protected]",
      "affectedData": [
        {
          "vendor": "ZcashFoundation",
          "product": "zebra",
          "versions": [
            {
              "version": "< 4.5.0",
              "status": "affected"
            }
          ]
        },
        {
          "vendor": "ZcashFoundation",
          "product": "zebra-state",
          "versions": [
            {
              "version": "< 7.0.0",
              "status": "affected"
            }
          ]
        }
      ]
    }
  ],
  "metrics": {
    "cvssMetricV31": [
      {
        "source": "[email protected]",
        "type": "Secondary",
        "cvssData": {
          "version": "3.1",
          "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:L",
          "baseScore": 6.5,
          "baseSeverity": "MEDIUM",
          "attackVector": "NETWORK",
          "attackComplexity": "HIGH",
          "privilegesRequired": "NONE",
          "userInteraction": "NONE",
          "scope": "UNCHANGED",
          "confidentialityImpact": "NONE",
          "integrityImpact": "HIGH",
          "availabilityImpact": "LOW"
        },
        "exploitabilityScore": 2.2,
        "impactScore": 4.2
      }
    ],
    "ssvcV203": [
      {
        "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
        "ssvcData": {
          "timestamp": "2026-08-19T15:20:08.584025Z",
          "id": "CVE-2026-52733",
          "options": [
            {
              "exploitation": "none"
            },
            {
              "automatable": "no"
            },
            {
              "technicalImpact": "partial"
            }
          ],
          "role": "CISA Coordinator",
          "version": "2.0.3"
        }
      }
    ]
  },
  "weaknesses": [
    {
      "source": "[email protected]",
      "type": "Secondary",
      "description": [
        {
          "lang": "en",
          "value": "CWE-459"
        },
        {
          "lang": "en",
          "value": "CWE-672"
        }
      ]
    }
  ],
  "references": [
    {
      "url": "https://github.com/ZcashFoundation/zebra/commit/1440b43ca7df59aca948090d45117557b217a6cd",
      "source": "[email protected]"
    },
    {
      "url": "https://github.com/ZcashFoundation/zebra/releases/tag/v4.5.0",
      "source": "[email protected]"
    },
    {
      "url": "https://github.com/ZcashFoundation/zebra/security/advisories/GHSA-2gf8-q9rr-jq3h",
      "source": "[email protected]"
    }
  ]
}