Ad

CVE-2026-49343

MEDIUM CVSS 3.1: 5,9 EPSS 0.26%
Обновлено 8 августа 2026
Klever-Go
Параметр Значение
CVSS 5,9 (MEDIUM)
Уязвимые версии до 1.7.18
Устранено в версии 1.7.18
Тип уязвимости CWE-400 (Неконтролируемое потребление ресурсов), CWE-772
Поставщик Klever-Go
Публичный эксплойт Нет

Klever-Go — это реализация протокола блокчейна Klever на Go. В версиях до 1.7.18 синхронизаторы Trie данных учетной записи уязвимы из-за недостатка ресурсов, из-за которого происходит утечка ограниченных слотов регулирования на путях ошибок. В syncDataTrie() (как в userAccountsSyncer.go, так и в kappAccountsSyncer.go) StartProcessing() резервирует слот у NumGoRoutinesThrottler, но соответствующий EndProcessing() вызывается только на пути успеха и при раннем возврате дублирующегося корня.

В результате любая ошибка от trie.NewTrie(), trie.NewTrieSyncer() или trieSyncer.StartSyncing() (включая зависящий от сети путь тайм-аута) постоянно занимает один слот на протяжении всего срока службы дросселя. Злоумышленник, который может неоднократно вызывать сбои или тайм-ауты синхронизации трех узлов во время начальной загрузки, может исчерпать ограниченный дроссель, после чего дальнейшая синхронизация трех узлов данных учетной записи прекращается, и SyncAccounts() возвращает тайм-аут. Поскольку загрузка эпохи в syncUserAccountsState() и syncKappAccountsState() прерывается при любой такой ошибке, это приводит к сбою начальной загрузки, а это проблема доступности ядра, влияющая на обновление, перезапуск или повторную синхронизацию узлов и валидаторов.

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

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

Klever-Go is the Go implementation of the Klever blockchain protocol. In versions prior to 1.7.18, the account-data trie syncers are vulnerable to a resource-exhaustion flaw that leaks bounded throttler slots on error paths. In syncDataTrie() (in both userAccountsSyncer.go and kappAccountsSyncer.go), StartProcessing() reserves a slot from the NumGoRoutinesThrottler, but the corresponding EndProcessing() is only called on the success path and on the duplicate-root early return. As a result, any error from trie.NewTrie(), trie.NewTrieSyncer(), or trieSyncer.StartSyncing() (including the network-dependent timeout path) permanently consumes one slot for the lifetime of the throttler. An attacker who can repeatedly cause trie-node sync failures or timeouts during bootstrap can exhaust the bounded throttler, after which further account-data trie syncs stop making progress and SyncAccounts() returns a timeout. Because epoch bootstrap in syncUserAccountsState() and syncKappAccountsState() aborts on any such error, this causes bootstrap to fail, a core availability issue affecting fresh, restarting, or resyncing nodes and validators. This issue is fixed in version 1.7.18.

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

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

Последствия

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

Строка CVSS v3.1

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

klever-io:klever-go