
Cloud Vulnerability DB
A community-led vulnerabilities database
Tendermint Core versions 0.34.0-0.34.2 contained a vulnerability (CVE-2021-21271) related to the handling of evidence of misbehavior. The issue was introduced in v0.34.0 with the addition of a new Timestamp field to Evidence structs. The vulnerability was discovered in January 2021 and patched in version 0.34.3. The bug affected the Byzantine Fault Tolerant (BFT) middleware that takes a state transition machine and replicates it across multiple machines (GHSA Advisory).
The vulnerability stemmed from the consensus reactor being responsible for forming DuplicateVoteEvidence when double signs were observed. Since the current block was still 'in flight' during formation, different nodes could observe different 'last commits' when assigning timestamps to DuplicateVoteEvidence. This resulted in nodes potentially forming DuplicateVoteEvidence objects at the same height but with different timestamps. When one version got finalized in a block, other versions with different timestamps would be considered invalid. The vulnerability was assigned a CVSS v3.1 Base Score of 6.5 (Medium) with vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H (NVD).
The vulnerability created a denial-of-service vector where any node that formed invalid DuplicateVoteEvidence would continue to propose invalid evidence, causing peers to potentially disconnect from that node. This effectively meant that double signs could be exploited as DoS vectors in affected versions (GHSA Advisory).
The vulnerability could be exploited in networks running Tendermint Core v0.34.0-v0.34.2. It required a malicious validator, even with minimal stake, to exploit the vulnerability and potentially halt the network completely (GHSA Advisory).
The vulnerability was patched in Tendermint Core v0.34.3. The fix changed the architecture so that DuplicateVoteEvidence is no longer formed by the consensus reactor. Instead, the consensus reactor passes the Votes themselves to the EvidencePool, which becomes responsible for forming DuplicateVoteEvidence. The EvidencePool has consistent timestamp information across the network, ensuring DuplicateVoteEvidence formed has consistent timestamps. No workarounds were available other than upgrading to the patched version (GHSA Advisory).
The vulnerability was discovered and reported by the Crypto.com team (specifically @cyril-crypto, @brianatcrypto, @tomtau and @yihuang). The fix was developed by @melekes and @cmwaters who identified the root cause and implemented the patch (GHSA Advisory).
Source: This report was generated using AI
Free Vulnerability Assessment
Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.
Get a personalized demo
"Best User Experience I have ever seen, provides full visibility to cloud workloads."
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
"We know that if Wiz identifies something as critical, it actually is."