#38459 [BC-Low] erigon remote DoS
Previous#37286 [SC-Insight] Elimination of Security Checks in ForkCreator ClassNext#37113 [BC-Low] https://github.com/erigontech/erigon ), though it does not seem to be exploitable at
Was this helpful?
Was this helpful?
func (c *ConsensusHandlers) blobsSidecarsByRangeHandler(s network.Stream) error {
req := &cltypes.BlobsByRangeRequest{}
if err := ssz_snappy.DecodeAndReadNoForkDigest(s, req, clparams.DenebVersion); err != nil {
return err
}
tx, err := c.indiciesDB.BeginRo(c.ctx)
if err != nil {
return err
}
defer tx.Rollback()
written := 0
1) for slot := req.StartSlot; slot < req.StartSlot+req.Count; slot++ {
2) blockRoot, err := beacon_indicies.ReadCanonicalBlockRoot(tx, slot)
if err != nil {
return err
}
3) if blockRoot == (libcommon.Hash{}) {
continue
}
blobCount, err := c.blobsStorage.KzgCommitmentsCount(c.ctx, blockRoot)
if err != nil {
return err
}
for i := 0; i < int(blobCount) && written < maxBlobsThroughoutputPerRequest; i++ {
...
}
}
return nil
}$ git rev-parse main
8945a32131b8d6d0c0a344d43ed6cc04b0f5944c
$ cd cl/sentinel/handlers
$ go test -run TestBlobsByRangeHandler
XXXKE blobsSidecarsByRangeHandler slot 1095042206
XXXKE blobsSidecarsByRangeHandler slot 1095042207
XXXKE blobsSidecarsByRangeHandler slot 1095042208
XXXKE blobsSidecarsByRangeHandler slot 1095042209
XXXKE blobsSidecarsByRangeHandler slot 1095042210
XXXKE blobsSidecarsByRangeHandler slot 1095042211
XXXKE blobsSidecarsByRangeHandler slot 1095042212
...