Ad

CVE-2026-52878

HIGH CVSS 3.1: 7,5 EPSS 0.28%
Обновлено 8 августа 2026
Klever-Io
Параметр Значение
CVSS 7,5 (HIGH)
Уязвимые версии 1.7.14 — 1.7.17
Устранено в версии 1.7.18
Тип уязвимости CWE-476 (Разыменование нулевого указателя)
Поставщик Klever-Io
Публичный эксплойт Нет

Klever-Go — это реализация протокола блокчейна Klever на Go. Версии с 1.7.14 по 1.7.17 уязвимы к панике нулевого указателя, вызванной транзакцией protobuf, встроенное подсообщение RawData которой опущено. Это упущение приводит к декодированию RawData в ноль.

Каждая транзакция, передаваемая в P2P-сети Klever-Go, декодируется и проверяется синхронно внутри обратного вызова валидатора темы pubsub libp2p, где txVersionChecker.CheckTxVersion разыменовывает tx.RawData.Version без проверки на ноль. Поскольку обратный вызов pubsub libp2p, базовый обработчик проверки go-libp2p-pubsub и собственный уровень сети/p2p Клевера не устанавливают восстановление(), паника распространяется и приводит к сбою всего процесса узла. Полезная нагрузка злоумышленника представляет собой 3-байтовое сообщение protobuf; не требуется никакой ключ валидатора, доля, средства или учетная запись в цепочке, а доставка, направленная на достаточное количество набора валидаторов BLS, может остановить производство блоков, что приведет к остановке цепочки.

Эта проблема исправлена ​​в версии 1.7.18.

Показать оригинальное описание (EN)

Klever-Go is the Go implementation of the Klever blockchain protocol. Versions 1.7.14 through 1.7.17 are vulnerable to a nil-pointer panic triggered by a protobuf Transaction whose embedded RawData sub-message is omitted. This omission causes RawData to decode to nil. Every transaction gossiped on the Klever-Go P2P network is decoded and validated synchronously inside the libp2p pubsub topic-validator callback, where txVersionChecker.CheckTxVersion dereferences tx.RawData.Version with no nil check. Because the libp2p pubsub callback, the underlying go-libp2p-pubsub validation worker, and Klever's own network/p2p layer install no recover(), the panic propagates and crashes the entire node process. The attacker payload is a 3-byte protobuf message; no validator key, stake, funds, or on-chain account is required, and delivery aimed at enough of the BLS validator set can halt block production, resulting in a chain halt. This issue has been fixed in version 1.7.18.

Характеристики атаки

Способ атаки
По сети
Атака возможна удалённо
Сложность
Низкая
Легко эксплуатировать
Нужны права
Не требуются
Права не нужны
Участие пользователя
Не требуется
Не нужно действие пользователя

Последствия

Конфиденциальность
Нет
Нет утечки данных
Целостность
Нет
Нет модификации данных
Доступность
Высокое
Полный отказ в обслуживании

Строка CVSS v3.1

Уязвимые продукты

klever-io:klever-go