A malicious peer can cause a syncing node to panic during blocksync. The syncing node may enter into a catastrophic invalid syncing state or get stuck in blocksync mode, never switching to consensus. Nodes that are vulnerable to this state may experience a Denial of Service condition in which syncing will not work as expected when joining a network as a client.
{
"review_status": "REVIEWED",
"url": "https://pkg.go.dev/vuln/GO-2024-2951"
}{
"imports": [
{
"path": "github.com/cometbft/cometbft/blocksync",
"symbols": [
"BlockPool.OnStart",
"BlockPool.RedoRequest",
"BlockPool.RemovePeerAndRedoAllPeerRequests",
"BlockPool.SetPeerRange",
"BlockPool.removeTimedoutPeers",
"NewBlockPool",
"NewReactor",
"Reactor.OnStart",
"Reactor.Receive",
"Reactor.SwitchToBlockSync"
]
}
]
}