CVE-2020-8806

7.5 HIGH

📋 TL;DR

This vulnerability in Zcashd allows attackers to create alternative blockchain branches that could be incorrectly accepted, potentially enabling double-spending attacks. It affects Zcash cryptocurrency nodes running vulnerable versions, allowing malicious actors to disrupt consensus and manipulate transactions.

💻 Affected Systems

Products:
  • Electric Coin Company Zcashd
Versions: All versions before 2.1.1-1
Operating Systems: All platforms running Zcashd
Default Config Vulnerable: ⚠️ Yes
Notes: All Zcash nodes running vulnerable versions are affected regardless of configuration.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete consensus failure across the Zcash network enabling widespread double spending, devaluation of cryptocurrency, and loss of funds for exchanges and users.

🟠

Likely Case

Targeted double-spending attacks against specific transactions, causing financial losses for merchants and exchanges accepting Zcash payments.

🟢

If Mitigated

No impact if patched; unpatched nodes risk being on forked chains with potential transaction reversals.

🌐 Internet-Facing: HIGH
🏢 Internal Only: LOW

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: LIKELY
Unauthenticated Exploit: ⚠️ Yes
Complexity: MEDIUM

Exploitation requires blockchain manipulation capabilities but no authentication to vulnerable nodes.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 2.1.1-1 and later

Vendor Advisory: https://electriccoin.co/blog/new-releases-2-1-1-and-hotfix-2-1-1-1/

Restart Required: Yes

Instructions:

1. Stop Zcashd service. 2. Backup wallet.dat and zcash.conf. 3. Download and install Zcashd 2.1.1-1 or later from official sources. 4. Restart Zcashd service. 5. Verify blockchain synchronization.

🔧 Temporary Workarounds

Temporary Node Shutdown

all

Shut down vulnerable Zcashd nodes until patched to prevent exploitation

sudo systemctl stop zcashd
zcash-cli stop

🧯 If You Can't Patch

  • Disable Zcashd service completely until patching is possible
  • Monitor blockchain for unusual forks or double-spend attempts

🔍 How to Verify

Check if Vulnerable:

Check Zcashd version with 'zcashd --version' and compare to vulnerable range

Check Version:

zcashd --version | grep version

Verify Fix Applied:

Verify version is 2.1.1-1 or later and monitor for consensus issues

📡 Detection & Monitoring

Log Indicators:

  • Block validation errors
  • Consensus failure messages
  • Unexpected chain reorganizations

Network Indicators:

  • Unusual blockchain forks
  • Multiple valid chains appearing

SIEM Query:

source="zcashd.log" AND ("consensus" OR "validation" OR "reorg") AND ("error" OR "fail" OR "invalid")

🔗 References

📤 Share & Export