Impact
A remote peer can crash any full node by sending a RequestBatchSet message containing the genesis block's hash. The handler calls get_epoch_chunks which iterates backwards through macro blocks using Policy::macro_block_before. When it reaches the genesis block number, macro_block_before panics with "No macro blocks before genesis block".
Patches
The patch for this vulnerability is formally released as part of v1.5.0.
Workarounds
No Workaround, although requesting the genesis batch set is not used during normal operation.
References
See PR.
Impact
A remote peer can crash any full node by sending a RequestBatchSet message containing the genesis block's hash. The handler calls
get_epoch_chunkswhich iterates backwards through macro blocks usingPolicy::macro_block_before. When it reaches the genesis block number,macro_block_beforepanics with "No macro blocks before genesis block".Patches
The patch for this vulnerability is formally released as part of v1.5.0.
Workarounds
No Workaround, although requesting the genesis batch set is not used during normal operation.
References
See PR.