CometBFT's invalid BitArray handling can lead to network halt in github.com/cometbft/cometbft
{
"review_status": "REVIEWED",
"url": "https://pkg.go.dev/vuln/GO-2025-4025"
}{
"imports": [
{
"symbols": [
"BaseWAL.OnStart",
"BaseWAL.SearchForEndHeight",
"Handshaker.Handshake",
"Handshaker.HandshakeWithContext",
"Handshaker.ReplayBlocks",
"Handshaker.ReplayBlocksWithContext",
"MsgFromProto",
"NewState",
"NewValidBlockMessage.ValidateBasic",
"PeerState.ApplyHasVoteMessage",
"PeerState.ApplyVoteSetBitsMessage",
"PeerState.EnsureVoteBitArrays",
"PeerState.InitProposalBlockParts",
"PeerState.PickSendVote",
"PeerState.PickVoteToSend",
"PeerState.SetHasProposal",
"PeerState.SetHasProposalBlockPart",
"PeerState.SetHasVote",
"ProposalPOLMessage.ValidateBasic",
"Reactor.AddPeer",
"Reactor.OnStart",
"Reactor.Receive",
"Reactor.SwitchToConsensus",
"RunReplayFile",
"State.OnStart",
"State.OpenWAL",
"State.ReplayFile",
"VoteSetBitsMessage.ValidateBasic",
"WALDecoder.Decode",
"WALFromProto",
"WALGenerateNBlocks",
"WALWithNBlocks"
],
"path": "github.com/cometbft/cometbft/consensus"
},
{
"symbols": [
"BitArray.And",
"BitArray.Or",
"BitArray.PickRandom",
"BitArray.SetIndex",
"BitArray.Sub",
"BitArray.UnmarshalJSON",
"BitArray.copyBits",
"BitArray.getNumTrueIndices",
"BitArray.setIndex",
"NewBitArray",
"NewBitArrayFromFn"
],
"path": "github.com/cometbft/cometbft/libs/bits"
}
]
}