Description
Klever-Go is the Go implementation of the Klever blockchain protocol. Versions 1.7.14 through 1.7.17 are vulnerable to a nil-pointer panic triggered by a protobuf Transaction whose embedded RawData sub-message is omitted. This omission causes RawData to decode to nil. Every transaction gossiped on the Klever-Go P2P network is decoded and validated synchronously inside the libp2p pubsub topic-validator callback, where txVersionChecker.CheckTxVersion dereferences tx.RawData.Version with no nil check. Because the libp2p pubsub callback, the underlying go-libp2p-pubsub validation worker, and Klever's own network/p2p layer install no recover(), the panic propagates and crashes the entire node process. The attacker payload is a 3-byte protobuf message; no validator key, stake, funds, or on-chain account is required, and delivery aimed at enough of the BLS validator set can halt block production, resulting in a chain halt. This issue has been fixed in version 1.7.18.
Published: 2026-08-07
Score: 7.5 High
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

Klever‑Go, the Go implementation of the Klever blockchain protocol, suffers from a nil‑pointer dereference when a protobuf transaction omits its embedded RawData sub‑message. The missing RawData field decodes to nil, causing the validator to dereference tx.RawData.Version without guarding against nil, which triggers a panic. This panic propagates through the libp2p pubsub validation worker and ultimately crashes the entire node process, halting block production on affected nodes. The vulnerability can be exploited by an unauthenticated attacker who can craft a simple 3‑byte protobuf message. Inference from the description indicates that the attacker does not need validator credentials or on‑chain funds; delivery to enough members of the BLS validator set is sufficient to disrupt the chain. This leads to a global denial of service when the network can no longer produce blocks. Although the EPSS score is not provided, the lack of authentication, the low payload size, and the ability to reach any node across the P2P network together suggest that exploitation is straightforward. The CVSS score of 7.5 reflects a high impact denial of service while the KEV status is not listed.

Affected Systems

Klever‑Go from Klever‑IO version 1.7.14 through 1.7.17 are vulnerable. Any node running these versions that participates in the P2P network is susceptible until it is upgraded to the fixed release 1.7.18.

Risk and Exploitability

The risk is elevated by the high CVSS and by the fact that the attack requires only a small malicious payload that can be sent from any network point capable of reaching a node. The vulnerability is not listed in the CISA KEV catalog, but the severity combined with the lack of mitigation means that any exposed node could be taken offline by an unauthenticated adversary.

Generated by OpenCVE AI on August 7, 2026 at 23:50 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Update all Klever‑Go nodes to the patched version 1.7.18 as soon as possible.
  • Restart the upgraded nodes to activate the corrected panic recovery logic.
  • Implement monitoring for node process crashes and configure alerts to detect any future panics.

Generated by OpenCVE AI on August 7, 2026 at 23:50 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-rm5c-5x2p-48wr Klever-Go KVM: Unauthenticated remote node crash (nil-pointer DoS) in klever-go P2P transaction interceptor (txVersionChecker nil RawData) - potential chain halt
History

Sat, 08 Aug 2026 00: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

Fri, 07 Aug 2026 22:45:00 +0000

Type Values Removed Values Added
Description Klever-Go is the Go implementation of the Klever blockchain protocol. Versions 1.7.14 through 1.7.17 are vulnerable to a nil-pointer panic triggered by a protobuf Transaction whose embedded RawData sub-message is omitted. This omission causes RawData to decode to nil. Every transaction gossiped on the Klever-Go P2P network is decoded and validated synchronously inside the libp2p pubsub topic-validator callback, where txVersionChecker.CheckTxVersion dereferences tx.RawData.Version with no nil check. Because the libp2p pubsub callback, the underlying go-libp2p-pubsub validation worker, and Klever's own network/p2p layer install no recover(), the panic propagates and crashes the entire node process. The attacker payload is a 3-byte protobuf message; no validator key, stake, funds, or on-chain account is required, and delivery aimed at enough of the BLS validator set can halt block production, resulting in a chain halt. This issue has been fixed in version 1.7.18.
Title Klever-Go: Unauthenticated nil-pointer DoS in P2P transaction validation can halt the chain
Weaknesses CWE-476
References
Metrics cvssV3_1

{'score': 7.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H'}


Subscriptions

Klever-io Klever-go
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-08-07T22:32:27.340Z

Reserved: 2026-06-08T21:44:27.364Z

Link: CVE-2026-52878

cve-icon Vulnrichment

No data.

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-08T00:00:04Z

Weaknesses