Skip to content
OpenAdvisories
High · 7.0 CVE-2026-82407 EUVD-2026-85576GHSA-9wh6-9hq7-9688GO-2026-6586

Klever-Go: Validator registration accepts an unvalidated BLS public key → consensus liveness DoS

Published Sep 23, 2026 · Updated Sep 23, 2026 · Assigned by GitHub_M

Description

Klever-Go is the Go implementation of the Klever blockchain protocol. Prior to 1.7.20, core/kapp/validators/validators.go Register and the runtime validator update path accept a submitted BLSPublicKey without curve, prime-order subgroup, or nonzero validation. When a validator with a malformed key becomes eligible and is selected into a consensus group, MultiSigner.Reset and the corresponding signature verification creation path cannot deserialize the group key and cancel the slot. This causes repeated missed rounds and throughput degradation, and a network whose consensus group equals the eligible validator set can halt completely. Genesis validation is not affected because that path already performs CheckPublicKeyValid. This issue is fixed in version 1.7.20.

Affected products

VendorProductAffectedFixed
klever-io klever-go < 1.7.20 —

Affected packages

EcosystemPackageAffectedFixedRecord
Go github.com/klever-io/klever-go < 1.7.20 1.7.20 GHSA-9wh6-9hq7-9688

References