PT-2020-14176 · Tendermint · Tendermint
Melekes
·
Published
2020-07-02
·
Updated
2021-12-20
·
CVE-2020-15091
CVSS v3.1
6.5
Medium
| Vector | AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H |
Name of the Vulnerable Software and Affected Versions
TenderMint versions 0.33.0 through 0.33.5
Description
The issue allows block proposers to include signatures for the wrong block, which can happen naturally if a network is started, run for some time, and then restarted without changing the chainID. A malicious block proposer, even with a minimal amount of stake, can use this to completely halt the network. The problem is fixed in TenderMint 0.33.6, which checks all signatures for the block with a 2/3+ majority before creating a commit. This vulnerability can also lead to a situation where proposers can claim that all other validators signed a block by including a CommitSig with arbitrary signature data, potentially impacting incentivization logic in applications that depend on the LastCommitInfo.
Recommendations
For TenderMint versions 0.33.0 through 0.33.5, update to version 0.33.6 to fix the issue. As a temporary workaround, consider restricting the ability of block proposers to include signatures for the wrong block until a patch is available. Avoid using the vulnerable functionality in the affected API endpoints until the issue is resolved.
Exploit
Fix
Improper Verification of Cryptographic Signature
Found an issue in the description? Have something to add? Feel free to write us 👾
Weakness Enumeration
Related Identifiers
Affected Products
Tendermint