CVE-2026-49343 in klever-go
Resumen
por VulDB • 2026-08-08
Klever-Go es la implementación en Go del protocolo blockchain Klever. En las versiones anteriores a la 1.7.18, los sincronizadores de tries (trie syncers) para datos de cuenta son vulnerables a un fallo de exhaustión de recursos que provoca una fuga de ranuras limitadas del controlador de flujo (throttler) en las rutas de error. En `syncDataTrie()` (tanto en userAccountsSyncer.go como en kappAccountsSyncer.go), `StartProcessing()` reserva una ranura del NumGoRoutinesThrottler, pero la correspondiente llamada a `EndProcessing()` solo se ejecuta en la ruta de éxito y en el retorno anticipado por raíz duplicada. Como resultado, cualquier error proveniente de `trie.NewTrie()`, `trie.NewTrieSyncer()` o `trieSyncer.StartSyncing()` (incluida la ruta dependiente de red con tiempo de espera) consume permanentemente una ranura durante toda la vida útil del throttler. Un atacante que pueda provocar repetidamente fallos en la sincronización de nodos trie o tiempos de espera durante el arranque puede agotar el throttler acotado, tras lo cual las posteriores sincronizaciones de tries de datos de cuenta dejan de avanzar y `SyncAccounts()` devuelve un tiempo de espera. Dado que el arranque por época (epoch bootstrap) en `syncUserAccountsState()` y `syncKappAccountsState()` se interrumpe ante cualquier error de este tipo, esto provoca la falla del proceso de arranque, lo cual constituye un problema crítico de disponibilidad que afecta a nodos nuevos, reiniciados o en resincronización, así como a validadores. Este problema está corregido en la versión 1.7.18.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.