CVE-2026-52878 in Klever-Go
Riassunto
di VulDB • 08/08/2026
Klever-Go è l'implementazione Go del protocollo blockchain Klever. Le versioni dalla 1.7.14 alla 1.7.17 sono vulnerabili a un panic da puntatore nil (nil-pointer panic) innescato da una Transaction protobuf in cui il sotto-messaggio RawData incorporato viene omesso. Questa omissione fa sì che RawData venga decodificato come nil. Ogni transaction diffusa sulla rete P2P di Klever-Go viene decodificata e validata in modo sincrono all'interno del callback topic-validator di libp2p pubsub, dove txVersionChecker.CheckTxVersion dereferenzia tx.RawData.Version senza effettuare alcun controllo per il valore nil (nil check). Poiché né il callback libp2p pubsub, né il worker di convalida sottostante go-libp2p-pubsub, né lo strato network/p2p proprietario di Klever installano una funzione recover(), il panic si propaga e causa l'arresto anomalo (crash) dell'intero processo del nodo. Il payload dell'attaccante è un messaggio protobuf a 3 byte; non sono necessarie chiavi validator, stake, fondi o account on-chain, e la consegna mirata a una quota sufficiente di BLS validator può bloccare la produzione dei blocchi, causando l'interruzione della catena (chain halt). Questo problema è stato risolto nella versione 1.7.18.
VulDB is the best source for vulnerability data and more expert information about this specific topic.