Klever-Go: Validator registration accepts an unvalidated BLS public key → consensus liveness DoS
21Vexday Risk Score
No sign of exploitation. No public exploitation artifact known so far.
ssvc Trackcvss 7epss 0.4%
exploitation probability
0.4%top 65% of all CVEs
observed exploitation
nono source reports it
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.
CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:H
Affected products
klever-io · klever-goReferences
https://github.com/klever-io/klever-go/commit/11606a90ccc289f93d0175994733229b332d9cffhttps://github.com/klever-io/klever-go/commit/642da967893884d635986fed3c43bdc679cbfe8fhttps://github.com/klever-io/klever-go/releases/tag/v1.7.20https://github.com/klever-io/klever-go/security/advisories/GHSA-9wh6-9hq7-9688