CVE-2023-34451
Last modified
CVE-2023-34451 is a high-severity vulnerability rated 8.2/10 on the CVSS scale. 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. EPSS estimates a 0.74% chance of exploitation in the next 30 days.
Description
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.
Metrics
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:H
Weakness Enumeration
Affected Software
| Vendor | Product | Versions |
|---|---|---|
| Cometbft | Cometbft | >= 0.34.28, < 0.34.29 |
| Cometbft | Cometbft | >= 0.37.0, < 0.37.2 |
References
- https://github.com/cometbft/cometbft/pull/890Exploit, Issue Tracking, Patch
- https://github.com/cometbft/cometbft/security/advisories/GHSA-w24w-wp77-qffmExploit, Mitigation, Vendor Advisory
- https://github.com/tendermint/tendermint/pull/2778Issue Tracking, Patch
- https://github.com/cometbft/cometbft/pull/890Exploit, Issue Tracking, Patch
- https://github.com/cometbft/cometbft/security/advisories/GHSA-w24w-wp77-qffmExploit, Mitigation, Vendor Advisory
- https://github.com/tendermint/tendermint/pull/2778Issue Tracking, Patch
Timeline
- Published
- Last Modified
- Status
- Modified
Frequently Asked Questions
What is CVE-2023-34451?
How severe is CVE-2023-34451?
How do I fix CVE-2023-34451?
How Strix Helps
- How Strix found a critical auth bypass in etcdStrix autonomously discovered a critical authentication bypass in etcd, later designated CVE-2026-33413.
- Autonomous PentestingAI agents that find and validate exploitable vulnerabilities like this one across your applications.
- PR ReviewsPentest every pull request so vulnerable code is caught before it ships to production.
- AI Penetration TestingHow AI-driven penetration testing continuously covers your attack surface.
Related CVEs from 2023
- CVE-2023-34446iTop is an open source, web-based IT service management plat…6.1
- CVE-2023-34447iTop is an open source, web-based IT service management plat…6.1
- CVE-2023-34448Grav is a flat-file content management system. Prior to vers…7.2
- CVE-2023-34449ink! is an embedded domain specific language to write smart …5.3
- CVE-2023-3445Cross-site Scripting (XSS) - Stored in GitHub repository spi…4.8
- CVE-2023-34450CometBFT is a Byzantine Fault Tolerant (BFT) middleware that…5.3
- CVE-2023-34452Grav is a flat-file content management system. In versions 1…6.1
- CVE-2023-34453snappy-java is a fast compressor/decompressor for Java. Due …7.5
- CVE-2023-34454snappy-java is a fast compressor/decompressor for Java. Due …7.5
- CVE-2023-34455snappy-java is a fast compressor/decompressor for Java. Due …7.5
- CVE-2023-34457MechanicalSoup is a Python library for automating interactio…7.5
- CVE-2023-34458mx-chain-go is the official implementation of the MultiversX…5.3
Are you affected by CVE-2023-34451?
Run a free Strix scan to check your systems for this vulnerability.
Scan your code nowSource: NVD / NIST
