55524 bc insight null body transaction submission crashes rpc handler
Description
Brief / Intro
Vulnerability Details
func (t *Transactions) handleSendTransaction(w http.ResponseWriter, req *http.Request) error {
var rawTx *api.RawTx
if err := restutil.ParseJSON(req.Body, &rawTx); err != nil {
return restutil.BadRequest(errors.WithMessage(err, "body"))
}
tx, err := rawTx.Decode()
if err != nil {
return restutil.BadRequest(errors.WithMessage(err, "raw"))
}
if err := t.pool.AddLocal(tx); err != nil {
if txpool.IsBadTx(err) {
return restutil.BadRequest(err)
}
if txpool.IsTxRejected(err) {
return restutil.Forbidden(err)
}
return err
}
txID := tx.ID()
return restutil.WriteJSON(w, &api.SendTxResult{ID: &txID})
}Impact Details
Proof of Concept
Notes
Previous55632 bc critical delegation submitted in the same period before a validator exit will be permanently frozenNextFirelight
Was this helpful?