Executive brief
CometBFT is a software platform used to build and maintain blockchain networks. A vulnerability exists where a malicious participant in the network can send a specially crafted message that causes other nodes to crash (panic). This can lead to a service outage or disruption of the blockchain's consensus process, though it only affects networks that have specifically enabled the 'vote extensions' feature.
Technical details
A vulnerability in CometBFT's consensus engine allows for a remote denial-of-service (panic). The root cause is an improper validation of the 'ValidatorIndex' field in 'Vote' messages of type 'Precommit' when vote extensions are enabled. Specifically, logic introduced in version 0.38.x to handle vote extensions processes the message before the standard validator index verification occurs. An attacker with a modified node can send a message with an out-of-bounds or invalid index, triggering a runtime panic in receiving nodes. This issue is fixed in CometBFT v0.38.15.
Affected products
- CometBFT CometBFT >= 0.38.0, < 0.38.15
Timeline
- 2024-10-21: disclosed: Reported to Cosmos Bug Bounty program
- 2024-10-30: patched: Core team completes patch
- 2024-11-06: advisory: Public advisory released