Junglewise Threat Intelligence

CVE-2026-35679: Zcash zcashd improper verification of Sprout proofs

CVE-2026-35679 · Severity: low · CVSS 3.5 · Published 2026-04-05

Executive brief

A vulnerability was discovered in zcashd, the software used to run Zcash nodes and manage transactions. Under specific conditions, the software failed to verify certain cryptographic proofs for transactions in the legacy Sprout pool, which could have allowed unauthorized or invalid transactions to be processed. If exploited, this could have resulted in the theft of funds from the Sprout pool, though no evidence of exploitation has been found and other node implementations (like Zebra) remained secure.

Technical details

A logic error in the consensus validation path of zcashd caused Sprout JoinSplit proofs to be skipped during block connection. The software uses a 'fChecked' flag to cache verification states and avoid redundant checks; however, it incorrectly treated a state where Sprout verification was disabled as a successful authoritative check. Consequently, when a new block was connected to the current chain tip, the deferred proof verification was bypassed entirely. Exploitation would require the cooperation of a mining pool to include invalid transactions in a block, as mempool transactions are subject to separate, correct verification. The issue is resolved in version 6.12.0 by ensuring the 'fChecked' flag is only set when all verification steps, including Sprout proofs, have been completed.

Affected products

  • Zcash zcashd before 6.12.0

Timeline

  • 2026-03-31: patched: Version 6.12.0 released
  • 2026-04-05: disclosed: CVE published

References

Related threats