LiveActive security incident?Get immediate response
CVE Record

CVE-2023-34450: CometBFT PeerState JSON serialization deadlock

CometBFT is a Byzantine Fault Tolerant (BFT) middleware that takes a state transition machine and replicates it on many machines. An internal modification made in versions 0.34.28 and 0.37.1 to the way struct `PeerState` is serialized to JSON introduced a deadlock when new function MarshallJSON is called. This function can be called from two places. The first is via logs, setting the `consensus` logging module to "debug" level (should not happen in production), and setting the log output format to JSON. The second is via RPC `dump_consensus_state`. Case 1, which should not be hit in production, will eventually hit the deadlock in most goroutines, effectively halting the node. In case 2, only the data structures related to the first peer will be deadlocked, together with the thread(s) dealing with the RPC request(s). This means that only one of the channels of communication to the node's peers will be blocked. Eventually the peer will timeout and excluded from the list (typically after 2 minutes). The goroutines involved in the deadlock will not be garbage collected, but they will not interfere with the system after the peer is excluded. The theoretical worst case for case 2, is a network with only two validator nodes. In this case, each of the nodes only has one `PeerState` struct. If `dump_consensus_state` is called in either node (or both), the chain will halt until the peer connections time out, after which the nodes will reconnect (with different `PeerState` structs) and the chain will progress again. Then, the same process can be repeated. As the number of nodes in a network increases, and thus, the number of peer struct each node maintains, the possibility of reproducing the perturbation visible with two nodes decreases. Only the first `PeerState` struct will deadlock, and not the others (RPC `dump_consensus_state` accesses them in a for loop, so the deadlock at the first iteration causes the rest of the iterations of that "for" loop to never be reached). This regression was fixed in versions 0.34.29 and 0.37.2. Some workarounds are available. For case 1 (hitting the deadlock via logs), either don't set the log output to "json", leave at "plain", or don't set the consensus logging module to "debug", leave it at "info" or higher. For case 2 (hitting the deadlock via RPC `dump_consensus_state`), do not expose `dump_consensus_state` RPC endpoint to the public internet (e.g., via rules in one's nginx setup).

LowCVSS 3.7Not KEV-listedUpdated
Glexia's TakeAutomated analysislow

Security readout for executives and security teams

Plain-English summary

This flaw can temporarily disrupt CometBFT validator nodes when a specific JSON serialization path deadlocks. The main business risk is availability, not data theft or tampering. Exposure is narrow: only CometBFT 0.34.28 and 0.37.1 are listed as affected, and the cited advisory says fixed releases are available.

Executive priority

Treat as a targeted availability maintenance issue. Prioritize upgrades for validator infrastructure, public RPC endpoints, and small validator networks where a temporary chain halt would have operational or reputational impact.

Technical view

An internal PeerState JSON serialization change in CometBFT 0.34.28 and 0.37.1 can deadlock when invoked by JSON debug consensus logging or the dump_consensus_state RPC path. Impact is availability: node halt in the logging case, or limited peer/RPC goroutine deadlock until peer timeout in the RPC case.

Likely exposure

Most exposure is limited to operators running exactly CometBFT 0.34.28 or 0.37.1, especially with JSON debug consensus logging or publicly reachable dump_consensus_state RPC.

Exploitation context

The source bundle does not identify active exploitation, and KEV is false. Remote triggering is described through dump_consensus_state, but impact depends on network topology and exposed RPC access.

Researcher notes

The advisory describes two trigger paths with different blast radius. Case one is primarily a production misconfiguration risk. Case two affects the first PeerState encountered by dump_consensus_state and is more visible in two-validator networks.

Mitigation direction

  • Upgrade CometBFT 0.34.28 to 0.34.29 or later in that branch.
  • Upgrade CometBFT 0.37.1 to 0.37.2 or later in that branch.
  • Keep consensus logging at info or higher unless debug is operationally required.
  • Avoid JSON log output when consensus debug logging is enabled.
  • Restrict dump_consensus_state from public internet exposure.
  • Review CometBFT vendor guidance before production rollout.

Validation and detection

  • Inventory CometBFT versions and flag nodes running 0.34.28 or 0.37.1.
  • Review node logging configuration for consensus debug plus JSON output.
  • Check reverse proxy and RPC exposure controls for dump_consensus_state.
  • Confirm upgraded binaries report fixed CometBFT versions.
  • Review monitoring for node halts, peer timeouts, or accumulating RPC goroutines.
Prepared
Confidence
high
Sources
6

Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.

Potential ATT&CK relevance

Conservative CVE-to-ATT&CK context

These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.

ATT&CK lookup starting points

Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.

cwe · low confidence lookup

CWE-401: Exact CWE lookup

Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.

Open ATT&CK lookup
cwe · low confidence lookup

CWE-770: Exact CWE lookup

Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.

Open ATT&CK lookup
cve · low confidence lookup

CVE-2023-34450 mapping review

Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.

Open ATT&CK lookup
Vulnerability profileCVE Program record
Severity
Low
CVSS
3.7 (3.1)
Known Exploited
No
Published

Vector: CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L

Official CVE source material

CNA and ADP enrichment extracted from CVE v5

These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.

1CVSS vectors
0Timeline events
0ADP providers
5Source links

CVSS vector scores

1 official score

We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.

ScoreVersionSeverityVectorExploitImpactSource
3.7CVSS 3.1LowCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L2.21.4Primary CVE score

Vulnerability scoring details

Base CVSS 3.1 score

3.7Low
CVSS 3.1 vector shape for CVE-2023-34450Attack VectorAttack ComplexityPrivileges RequiredUser InteractionScopeConfidentiality ImpactIntegrity ImpactAvailability Impact

Vector: CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L

Attack Vector
NetworkAdjacentLocalPhysical
Attack Complexity
LowHigh
Privileges Required
NoneLowHigh
User Interaction
NoneRequired
Scope
ChangedUnchanged
Confidentiality Impact
HighLowNone
Integrity Impact
HighLowNone
Availability Impact
HighLowNone

Source materials

Affected products

Products and packages named in the record

VendorProductVersion / packageStatus
cometbftcometbft= 0.34.28, = 0.37.1Listed
Weakness

CWE details

CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.