CVE-2025-24371
Malicious peer can make node stuck in blocksync in github.com/cometbft/cometbft
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.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- Low
- User interaction
- None
What an attacker can affect
- Confidentiality
- None
- Integrity
- None
- Availability
- High
Exploit likelihood
What each source reports
CVE List Score used
7.1
Malicious peer can make node stuck in blocksync in github.com/cometbft/cometbft
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.
- Record
CVE-2025-24371- CVSS 4.0
- 7.1 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N - Weakness
- CWE-703
- Updated
- 2026-11-02
EUVDEUVD-2025-0216
7.1
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.
- Record
EUVD-2025-0216- CVSS 4.0
- 7.1 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N - Updated
- 2026-11-03
GitHub AdvisoriesGHSA-22qq-3xwm-r5x4
6.9
CometBFT allows a malicious peer to make node stuck in blocksync
Name: ASA-2025-001: Malicious peer can disrupt node's ability to sync via blocksync Component: CometBFT [OUTDATED] Criticality: Medium (Considerable Impact; Possible Likelihood per ACMv1.2) Update of Criticality on 2026-03-06: We've made a mistake and over-rated the criticality of this bug in our initial triage. We have calibrated our vulnerability rating internally and updated the criticality of this bug to be Informational (Negligible Impact, Possible Likelihood) Affected versions: <= v0.38.16, v1.0.0 Affected users: Validators, Full nodes
Impact
A malicious peer may be able to interfere with a node's ability to sync blocks with peers via the blocksync mechanism.
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:
B: {base: 100, latest: 1000}
B: {base: 100, latest: 1001}
B: {base: 100, latest: 1002}
...
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 hovewer doesn't check for the case where B first reports latest height X and immediately after height Y, where X > Y. For example:
B: {base: 100, latest: 2000}
B: {base: 100, latest: 1001}
B: {base: 100, latest: 1002}
...
A will be trying to catch up to 2000 indefinitely. Even if B disconnects, the latest height (target height) won't be recalculated because A "doesn't know where 2000" came from per see.
Impact Qualification
This condition requires the introduction of malicious code in the full node first reporting a non-existing latest height, then reporting lower latest height and nodes which are syncing using blocksync protocol.
Patches
The new CometBFT releases v1.0.1 and v0.38.17 fix this issue.
Unreleased code in the main is patched as well.
Workarounds
When the operator notices blocksync is stuck, they can identify the peer from which that message with "invalid" height was received. This may require increasing the logging level of the blocksync module. This peer can then be subsequently banned at the p2p layer as a temporary mitigation.
References
If you have questions about Interchain security efforts, please reach out to our official communication channel at [email protected]. For more information about the Interchain Foundation’s engagement with Amulet, and to sign up for security notification emails, please see https://github.com/interchainio/security.
A Github Security Advisory for this issue is available in the CometBFT repository. For more information about CometBFT, see https://docs.cometbft.com/.
EDIT:
Please notice that this has been updated to be informational severity. This can be avoided by ensuring that one is not connected to a malicious peer during blocksync.
- Record
GHSA-22qq-3xwm-r5x4- CVSS 4.0
- 6.9 Medium
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N - Weakness
- CWE-703
- Updated
- 2026-11-02
NVD
7.1
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.
- Record
CVE-2025-24371- CVSS 4.0
- 7.1 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X - Weakness
- CWE-703
- Updated
- 2026-11-02
OSV
7.1
Malicious peer can make node stuck in blocksync in github.com/cometbft/cometbft
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.
- Record
CVE-2025-24371- CVSS 4.0
- 7.1 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N - Weakness
- CWE-703
- Updated
- 2026-11-02
OSVGHSA-22qq-3xwm-r5x4
6.9
CometBFT allows a malicious peer to make node stuck in blocksync
Name: ASA-2025-001: Malicious peer can disrupt node's ability to sync via blocksync Component: CometBFT [OUTDATED] Criticality: Medium (Considerable Impact; Possible Likelihood per ACMv1.2) Update of Criticality on 2026-03-06: We've made a mistake and over-rated the criticality of this bug in our initial triage. We have calibrated our vulnerability rating internally and updated the criticality of this bug to be Informational (Negligible Impact, Possible Likelihood) Affected versions: <= v0.38.16, v1.0.0 Affected users: Validators, Full nodes
Impact
A malicious peer may be able to interfere with a node's ability to sync blocks with peers via the blocksync mechanism.
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:
B: {base: 100, latest: 1000}
B: {base: 100, latest: 1001}
B: {base: 100, latest: 1002}
...
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 hovewer doesn't check for the case where B first reports latest height X and immediately after height Y, where X > Y. For example:
B: {base: 100, latest: 2000}
B: {base: 100, latest: 1001}
B: {base: 100, latest: 1002}
...
A will be trying to catch up to 2000 indefinitely. Even if B disconnects, the latest height (target height) won't be recalculated because A "doesn't know where 2000" came from per see.
Impact Qualification
This condition requires the introduction of malicious code in the full node first reporting a non-existing latest height, then reporting lower latest height and nodes which are syncing using blocksync protocol.
Patches
The new CometBFT releases v1.0.1 and v0.38.17 fix this issue.
Unreleased code in the main is patched as well.
Workarounds
When the operator notices blocksync is stuck, they can identify the peer from which that message with "invalid" height was received. This may require increasing the logging level of the blocksync module. This peer can then be subsequently banned at the p2p layer as a temporary mitigation.
References
If you have questions about Interchain security efforts, please reach out to our official communication channel at [email protected]. For more information about the Interchain Foundation’s engagement with Amulet, and to sign up for security notification emails, please see https://github.com/interchainio/security.
A Github Security Advisory for this issue is available in the CometBFT repository. For more information about CometBFT, see https://docs.cometbft.com/.
EDIT:
Please notice that this has been updated to be informational severity. This can be avoided by ensuring that one is not connected to a malicious peer during blocksync.
- Record
GHSA-22qq-3xwm-r5x4- CVSS 4.0
- 6.9 Medium
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N - Weakness
- CWE-703
- Updated
- 2026-11-02
OSVGO-2025-3442 No score
CometBFT allows a malicious peer to make node stuck in blocksync in github.com/cometbft/cometbft
CometBFT allows a malicious peer to make node stuck in blocksync in github.com/cometbft/cometbft
- Record
GO-2025-3442- Updated
- 2026-11-02
OSVopenSUSE-SU-2025:14732-1 No score
govulncheck-vulndb-0.0.20250204T220613-1.1 on GA media
These are all security issues fixed in the govulncheck-vulndb-0.0.20250204T220613-1.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2025:14732-1- Updated
- 2026-11-02
OSVSUSE-SU-2025:0429-1 No score
Security update for govulncheck-vulndb
This update for govulncheck-vulndb fixes the following issues:
-
Update to version 0.0.20250207T224745 2025-02-07T22:47:45Z. Refs jsc#PED-11136 Go CVE Numbering Authority IDs added or updated with aliases:
- GO-2025-3456 CVE-2025-24786 GHSA-9r4c-jwx3-3j76
- GO-2025-3457 CVE-2025-24787 GHSA-c7w4-9wv8-7x7c
- GO-2025-3458 CVE-2025-24366 GHSA-vj7w-3m8c-6vpx
-
Update to version 0.0.20250206T175003 2025-02-06T17:50:03Z. Refs jsc#PED-11136 Go CVE Numbering Authority IDs added or updated with aliases:
- GO-2023-1867 CVE-2022-47930 GHSA-c58h-qv6g-fw74
- GO-2024-3244 CVE-2024-50354 GHSA-cph5-3pgr-c82g
-
Update to version 0.0.20250206T165438 2025-02-06T16:54:38Z. Refs jsc#PED-11136 Go CVE Numbering Authority IDs added or updated with aliases:
- GO-2025-3428 CVE-2025-22867
- GO-2025-3447 CVE-2025-22866
-
Update to version 0.0.20250205T232745 2025-02-05T23:27:45Z. Refs jsc#PED-11136 Go CVE Numbering Authority IDs added or updated with aliases:
- GO-2025-3408
- GO-2025-3448 GHSA-23qp-3c2m-xx6w
- GO-2025-3449 GHSA-mx2j-7cmv-353c
- GO-2025-3450 GHSA-w7wm-2425-7p2h
- GO-2025-3454 GHSA-mj4v-hp69-27x5
- GO-2025-3455 GHSA-vqv5-385r-2hf8
-
Update to version 0.0.20250205T003520 2025-02-05T00:35:20Z. Refs jsc#PED-11136 Go CVE Numbering Authority IDs added or updated with aliases:
- GO-2025-3451
-
Update to version 0.0.20250204T220613 2025-02-04T22:06:13Z. Refs jsc#PED-11136 Go CVE Numbering Authority IDs added or updated with aliases:
- GO-2025-3431 CVE-2025-24884 GHSA-hcr5-wv4p-h2g2
- GO-2025-3433 CVE-2025-23216 GHSA-47g2-qmh2-749v
- GO-2025-3434 CVE-2025-24376 GHSA-fc89-jghx-8pvg
- GO-2025-3435 CVE-2025-24784 GHSA-756x-m4mj-q96c
- GO-2025-3436 CVE-2025-24883 GHSA-q26p-9cq4-7fc2
- GO-2025-3437 GHSA-274v-mgcv-cm8j
- GO-2025-3438 CVE-2024-11741 GHSA-wxcc-2f3q-4h58
- GO-2025-3442 CVE-2025-24371 GHSA-22qq-3xwm-r5x4
- GO-2025-3443 GHSA-r3r4-g7hq-pq4f
- GO-2025-3444 CVE-2024-35177
- GO-2025-3445 CVE-2024-47770
-
Use standard RPM macros to unpack the source and populate a working directory. Fixes build with RPM 4.20.
-
Update to version 0.0.20250130T185858 2025-01-30T18:58:58Z. Refs jsc#PED-11136 Go CVE Numbering Authority IDs added or updated with aliases:
- GO-2024-2842 CVE-2024-3727 GHSA-6wvf-f2vw-3425
- GO-2024-3181 CVE-2024-9313 GHSA-x5q3-c8rm-w787
- GO-2024-3188 CVE-2024-9312 GHSA-4gfw-wf7c-w6g2
- GO-2025-3372 CVE-2024-45339 GHSA-6wxm-mpqj-6jpf
- GO-2025-3373 CVE-2024-45341
- GO-2025-3383 CVE-2024-45340
- GO-2025-3408
- GO-2025-3412 CVE-2024-10846 GHSA-36gq-35j3-p9r9
- GO-2025-3420 CVE-2024-45336
- GO-2025-3421 CVE-2025-22865
- GO-2025-3424 CVE-2025-24369
- GO-2025-3426 CVE-2025-0750 GHSA-hp5j-2585-qx6g
- GO-2025-3427 CVE-2024-13484 GHSA-58fx-7v9q-3g56
- Record
SUSE-SU-2025:0429-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
github.com/cometbft/cometbftGo |
1.0.0-alpha.1 up to 1.0.1 | 1.0.1 |
github.com/cometbft/cometbftGo |
before 0.38.17 | 0.38.17 |
github.com/cometbft/cometbftGo |
before 1.0.1 | 1.0.1 |
govulncheck-vulndbSUSE:Linux Enterprise Module for Package Hub 15 SP6 From an advisory covering 28 CVEs |
before 0.0.20250207T224745-150000.1.32.1 | 0.0.20250207T224745-150000.1.32.1 |
govulncheck-vulndbopenSUSE:Leap 15.6 From an advisory covering 28 CVEs |
before 0.0.20250207T224745-150000.1.32.1 | 0.0.20250207T224745-150000.1.32.1 |
govulncheck-vulndbopenSUSE:Tumbleweed From an advisory covering 9 CVEs |
before 0.0.20250204T220613-1.1 | 0.0.20250204T220613-1.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, facts | ||
| aliases | EUVD | |
| first indexed | CVE List, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2025-24371 is a high vulnerability (CVSS 7.1) in Cometbft, published February 3, 2025. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.46%, the 40th percentile. Fixed in github.com/cometbft/cometbft 1.0.1.
References
github.com/cometbft/cometbft/security/advisories/GHSA-22qq-3xwm-r5x4
github.com/cometbft/cometbft/releases/tag/v0.38.17
github.com/cometbft/cometbft/releases/tag/v1.0.1
github.com/cometbft/cometbft/commit/0ee80cd609c7ae9fe856bdd1c6d38553fdae90ce
github.com/cometbft/cometbft/commit/2cebfde06ae5073c0b296a9d2ca6ab4b95397ea5
nvd.nist.gov/vuln/detail/CVE-2025-24371
Show 33 moreShow less
pkg.go.dev/vuln/GO-2025-3442
github.com/advisories/GHSA-22qq-3xwm-r5x4
github.com/CVEProject/cvelistV5/tree/main/cves/2025/24xxx/CVE-2025-24371.json
github.com/cometbft/cometbft
suse.com/support/update/announcement/2025/suse-su-20250429-1
suse.com/security/cve/CVE-2022-47930
suse.com/security/cve/CVE-2024-10846
suse.com/security/cve/CVE-2024-11741
suse.com/security/cve/CVE-2024-13484
suse.com/security/cve/CVE-2024-35177
suse.com/security/cve/CVE-2024-3727
suse.com/security/cve/CVE-2024-45336
suse.com/security/cve/CVE-2024-45339
suse.com/security/cve/CVE-2024-45340
suse.com/security/cve/CVE-2024-45341
suse.com/security/cve/CVE-2024-47770
suse.com/security/cve/CVE-2024-50354
suse.com/security/cve/CVE-2024-9312
suse.com/security/cve/CVE-2024-9313
suse.com/security/cve/CVE-2025-0750
suse.com/security/cve/CVE-2025-22865
suse.com/security/cve/CVE-2025-22866
suse.com/security/cve/CVE-2025-22867
suse.com/security/cve/CVE-2025-23216
suse.com/security/cve/CVE-2025-24366
suse.com/security/cve/CVE-2025-24369
suse.com/security/cve/CVE-2025-24371
suse.com/security/cve/CVE-2025-24376
suse.com/security/cve/CVE-2025-24784
suse.com/security/cve/CVE-2025-24786
suse.com/security/cve/CVE-2025-24787
suse.com/security/cve/CVE-2025-24883
suse.com/security/cve/CVE-2025-24884