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.
Published: 2026-09-23
Score: 7 High
EPSS: n/a
KEV: No
Impact: Consensus liveness denial of service
Action: Immediate Patch
AI Analysis

Impact

Validations for BLS public keys are omitted during validator registration and runtime update in Klever-Go, allowing a malicious validator to submit a malformed key. When such a validator is chosen into a consensus group, the group key cannot be deserialized, causing the validator to cancel its slot and triggering repeated missed rounds. This degradation of throughput can escalated to a network halt if the consensus group equals the eligible validator set. The flaw is a classic input validation failure (CWE-20) impacting availability, not confidentiality or integrity.

Affected Systems

All versions of Klever-Go prior to release 1.7.20 are affected. The vulnerability applies to the validator registration and runtime update paths in the core/kapp/validators/validators.go module, while genesis validation remains safe because it already checks key validity.

Risk and Exploitability

The vulnerability carries a CVSS score of 7, indicating a high severity. EPSS data is not available, and the issue is not listed in the CISA KEV catalog. The likely attack vector requires an actor to register or update a validator with a malformed BLS key, which then becomes eligible for consensus participation. If successfully leveraged, the attacker can cause repeated consensus failures, degrade performance, and potentially bring the network to a standstill.

Generated by OpenCVE AI on September 23, 2026 at 20:23 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade Klever-Go to version 1.7.20 or later to enable public key validation for validator registration and runtime updates.
  • Remove or disable any validators that were previously registered with malformed BLS keys and re‑register them with correctly validated keys.
  • Monitor node liveness and log instances of missed rounds or signature verification failures; adjust threshold or alerting to detect potential DoS attempts early.
  • If an upgrade cannot be performed immediately, temporarily halt new validator registrations until the fix is applied.

Generated by OpenCVE AI on September 23, 2026 at 20:23 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-9wh6-9hq7-9688 Klever-Go: Validator registration accepts an unvalidated BLS public key → consensus liveness DoS
History

Wed, 23 Sep 2026 21:15:00 +0000

Type Values Removed Values Added
First Time appeared Klever-io
Klever-io klever-go
Vendors & Products Klever-io
Klever-io klever-go

Wed, 23 Sep 2026 20:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Wed, 23 Sep 2026 19:30:00 +0000

Type Values Removed Values Added
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.
Title Klever-Go: Validator registration accepts an unvalidated BLS public key → consensus liveness DoS
Weaknesses CWE-20
References
Metrics cvssV4_0

{'score': 7, 'vector': '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'}


Subscriptions

Klever-io Klever-go
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-09-23T19:42:17.556Z

Reserved: 2026-08-28T22:00:43.513Z

Link: CVE-2026-82407

cve-icon Vulnrichment

Updated: 2026-09-23T19:42:13.508Z

cve-icon NVD

Status : Deferred

Published: 2026-09-23T20:17:16.707

Modified: 2026-09-23T20:17:16.847

Link: CVE-2026-82407

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-23T21:00:12Z

Weaknesses
  • CWE-20

    Improper Input Validation