prysmaticlabs/prysm

Validate blob sidecar by range response

Opened this issue · 1 comments

Prysm nodes serving blobs by range requests do not verify that the blob sidecars stored in the database match the block commitment count. This could result in a Prysm node with insufficient blob sidecars in the database (it is unclear how this situation arises) servicing an incorrect number of blob sidecars matching the block's KZG commitment, thereby violating the following P2P specification rule:

Clients MUST include all blob sidecars of each block from which they include blob sidecars.

One naive solution is to check total indices matches the blob kzg commitments count before responding to peer:

idxs, err := s.cfg.blobStorage.Indices(b.Root())

i'd like to work on this issue