CVE-2025-24371

Source
https://nvd.nist.gov/vuln/detail/CVE-2025-24371
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2025-24371.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2025-24371
Aliases
Related
Published
2025-02-03T22:15:28Z
Modified
2025-05-28T10:40:30.959872Z
Downstream
Summary
[none]
Details

CometBFT is a distributed, Byzantine fault-tolerant, deterministic state machine replication engine. In the blocksync protocol peers send their base and latest heights when they connect to a new node (A), which is syncing to the tip of a network. base acts as a lower ground and informs A that the peer only has blocks starting from height base. latest height informs A about the latest block in a network. Normally, nodes would only report increasing heights. If B fails to provide the latest block, B is removed and the latest height (target height) is recalculated based on other nodes latest heights. The existing code however doesn't check for the case where B first reports latest height X and immediately after height Y, where X > Y. A will be trying to catch up to 2000 indefinitely. This condition requires the introduction of malicious code in the full node first reporting some non-existing latest height, then reporting lower latest height and nodes which are syncing using blocksync protocol. This issue has been patched in versions 1.0.1 and 0.38.17 and all users are advised to upgrade. Operators may attempt to ban malicious peers from the network as a workaround.

References

Affected packages

Git / github.com/cometbft/cometbft

Affected ranges

Type
GIT
Repo
https://github.com/cometbft/cometbft
Events
Introduced
0 Unknown introduced commit / All previous commits are affected
Fixed
Fixed

Affected versions

api/v1.*

api/v1.0.0
api/v1.0.0-alpha.1
api/v1.0.0-alpha.2
api/v1.0.0-rc.1
api/v1.0.0-rc2

v0.*

v0.38.0
v0.38.0-alpha.1
v0.38.0-alpha.2
v0.38.0-rc1
v0.38.0-rc2
v0.38.0-rc3
v0.38.1
v0.38.10
v0.38.11
v0.38.12
v0.38.13
v0.38.14
v0.38.15
v0.38.16
v0.38.2
v0.38.3
v0.38.4
v0.38.5
v0.38.6
v0.38.7
v0.38.8
v0.38.9

v1.*

v1.0.0
v1.0.0-alpha.1
v1.0.0-alpha.2
v1.0.0-rc1
v1.0.0-rc2