Junglewise Threat Intelligence

CVE-2026-82407: Klever-Go BLS public key validation bypass in validator registration

CVE-2026-82407 · Severity: high · Published 2026-09-23

Executive brief

Klever-Go's consensus layer uses BLS multi-signatures to finalize blocks, but the validator registration process does not validate submitted BLS public keys for mathematical correctness. An attacker can register a validator with a malformed public key for the cost of the minimum stake, causing the network to fail block production whenever that validator is selected for a consensus group. In networks with small validator sets, this can halt the entire chain; in larger networks, it causes ongoing slot misses and throughput degradation.

Technical details

The vulnerability stems from missing cryptographic validation in the BLS validator registration flow. The `validators.Register` function accepts a 96-byte BLS public key without verifying that it is a valid point on the BLS12-381 curve, a member of the prime-order subgroup, or non-zero. The `CheckPublicKeyValid` function performs these checks at genesis time but is never called during runtime validator registration or updates. When an attacker's malformed key is deserialized during consensus group slot initialization, the `MultiSigner().Reset()` call deterministically fails in the underlying herumi BLS library, triggering `SetSlotCanceled(true)` and causing the entire block production round to be missed. The attack requires no proof-of-possession, no fork-dependent validation, and can be repeated by any party with enough stake to register a validator.

Affected products

  • Klever Klever-Go <unknown

Timeline

  • 2026-09-23: disclosed: Advisory published

Related threats