CVE-2019-7167
📋 TL;DR
This vulnerability allowed attackers to create counterfeit Zcash cryptocurrency by bypassing cryptographic proof verification in the Sprout protocol. It affected all Zcash users and nodes running software before the Sapling network upgrade. The flaw enabled cheating provers to generate fake proofs that would be accepted as valid transactions.
💻 Affected Systems
- Zcash
📦 What is this software?
Zcash by Z.cash
⚠️ Risk & Real-World Impact
Worst Case
Massive inflation of Zcash supply through unlimited counterfeiting, complete loss of trust in the cryptocurrency, and total devaluation of ZEC tokens.
Likely Case
Targeted counterfeiting by sophisticated attackers leading to market manipulation, theft from exchanges, and erosion of confidence in Zcash's security.
If Mitigated
No impact for properly upgraded systems; legacy systems remain vulnerable to counterfeiting attacks.
🎯 Exploit Status
Exploitation requires deep understanding of zk-SNARK cryptography and the specific bypass elements. No public exploits have been documented.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Sapling network upgrade (2018-10-28) and later
Vendor Advisory: https://z.cash/blog/zcash-counterfeiting-vulnerability-successfully-remediated/
Restart Required: Yes
Instructions:
1. Upgrade to Zcash software version supporting Sapling protocol (v2.0.0 or later). 2. Migrate all funds from Sprout addresses to Sapling addresses. 3. Ensure network consensus is on Sapling protocol.
🔧 Temporary Workarounds
Disable Sprout transactions
allConfigure node to reject Sprout protocol transactions
zcashd -disablesprout
🧯 If You Can't Patch
- Migrate all funds to Sapling addresses immediately
- Discontinue use of vulnerable Zcash software and switch to updated version
🔍 How to Verify
Check if Vulnerable:
Check if Zcash software version is before 2.0.0 or if node is still processing Sprout transactions
Check Version:
zcash-cli getinfo | grep version
Verify Fix Applied:
Verify software version is 2.0.0 or later and confirm all funds are in Sapling addresses
📡 Detection & Monitoring
Log Indicators:
- Unusual Sprout transaction patterns
- Multiple successful large-value Sprout transactions from single source
Network Indicators:
- Abnormal increase in Sprout transaction volume
- Suspicious proof generation patterns
SIEM Query:
zcash_logs WHERE transaction_type='sprout' AND value>threshold
🔗 References
- http://fortune.com/2019/02/05/zcash-vulnerability-cryptocurrency/
- https://github.com/JinBean/CVE-Extension
- https://z.cash/blog/zcash-counterfeiting-vulnerability-successfully-remediated/
- http://fortune.com/2019/02/05/zcash-vulnerability-cryptocurrency/
- https://github.com/JinBean/CVE-Extension
- https://z.cash/blog/zcash-counterfeiting-vulnerability-successfully-remediated/