CVE-2021-21271
NixOS vulnerability analysis and mitigation

Overview

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).

Technical details

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).

Impact

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).

Exploitability

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).

Mitigation and workarounds

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).

Community reactions

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).

Additional resources


SourceThis report was generated using AI

Related NixOS vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-91782LOW1.9
  • NixOS logoNixOS
  • gcc10-binutils
NoYesSep 15, 2026
CVE-2026-91781LOW1.9
  • NixOS logoNixOS
  • binutils
NoYesSep 15, 2026
CVE-2026-91780LOW1.9
  • NixOS logoNixOS
  • binutils
NoNoSep 15, 2026
CVE-2026-91779LOW1.9
  • NixOS logoNixOS
  • binutils
NoNoSep 15, 2026
CVE-2026-90831LOW1.9
  • NixOS logoNixOS
  • gcc-toolset-16-binutils.src
NoYesSep 14, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management