Read the docs
TI-2023-17277 Aliases CVE-2023-34451GHSA-w24w-wp77-qffm

CometBFT may duplicate transactions in the mempool's data structures

Priority HIGH 75CWE-401Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
None
Attack complexity
Low
Impact type
Denial of service
Confidentiality · integrity · availability
None · Low · High
Fix status
Fixed

Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub. Impact type from CWE-401.

Summary

CometBFT is a Byzantine Fault Tolerant (BFT) middleware that takes a state transition machine and replicates it on many machines. The mempool maintains two data structures to keep track of outstanding transactions: a list and a map. These two data structures are supposed to be in sync all the time in the sense that the map tracks the index (if any) of the transaction in the list. In `v0.37.0`, and `v0.37.1`, as well as in `v0.34.28`, and all previous releases of the CometBFT repo2, it is possible to have them out of sync. When this happens, the list may contain several copies of the same transaction. Because the map tracks a single index, it is then no longer possible to remove all the copies of the transaction from the list. This happens even if the duplicated transaction is later committed in a block. The only way to remove the transaction is by restarting the node. The above problem can be repeated on and on until a sizable number of transactions are stuck in the mempool, in order to try to bring down the target node. The problem is fixed in releases `v0.34.29` and `v0.37.2`. Some workarounds are available. Increasing the value of `cache_size` in `config.toml` makes it very difficult to effectively attack a full node. Not exposing the transaction submission RPC's would mitigate the probability of a successful attack, as the attacker would then have to create a modified (byzantine) full node to be able to perform the attack via p2p.

Why it matters now

Exploitation Proof of concept CISA SSVC · not in CISA KEV
EPSS 0.00901 59th percentileScored 2026-11-07
Public exploit Yes 2 exploit referencesTagged by NVD
Fix Fixed cometbft (cometbft): 0.34.29, 0.37.2github.com/cometbft/cometbft (Go): 0.34.29, 0.37.2

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
Poc
Automatable
Yes
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
cometbftcometbftbefore 0.34.29; 0.37.0 to before 0.37.20.34.29, 0.37.2Patch availableCNA
—github.com/cometbft/cometbft (Go)before 0.34.290.34.29Patch availableGHSA-w24w-wp77-qffm
—github.com/cometbft/cometbft (Go)0.37.0 to before 0.37.20.37.2Patch availableGHSA-w24w-wp77-qffm
  • cometbft Vendorcometbft Affected before 0.34.29; 0.37.0 to before 0.37.2 Fixed in 0.34.29, 0.37.2 Patch available CNA
  • github.com/cometbft/cometbft (Go) Vendor— Affected before 0.34.29 Fixed in 0.34.29 Patch available GHSA-w24w-wp77-qffm
  • github.com/cometbft/cometbft (Go) Vendor— Affected 0.37.0 to before 0.37.2 Fixed in 0.37.2 Patch available GHSA-w24w-wp77-qffm

CPE configurations NVD · 1

CPEVersionsRoleVendor
cpe:2.3:a:cometbft:cometbft:*:*:*:*:*:*:*:*0.34.28 to before 0.34.29; 0.37.0 to before 0.37.2Vulnerablecometbft
  • cpe:2.3:a:cometbft:cometbft:*:*:*:*:*:*:*:* Versions 0.34.28 to before 0.34.29; 0.37.0 to before 0.37.2 Vulnerable ·cometbft

Remediation

  • Fix · CNA cometbft (cometbft) Fixed in 0.34.29, 0.37.2
  • Fix · GHSA-w24w-wp77-qffm github.com/cometbft/cometbft (Go) Fixed in 0.34.29 Advisory →
  • Fix · GHSA-w24w-wp77-qffm github.com/cometbft/cometbft (Go) Fixed in 0.37.2 Advisory →

Timeline

  1. 2026-10-02 Threatist record created from CVE-2023-34451
  2. 2026-10-03 Alias added: GHSA-w24w-wp77-qffm

References

  • TI-2023-17276 CometBFT PeerState JSON serialization deadlock CVSS 3.1MEDIUM 5.3

Sources