CVE-2026-52878
Received Received - Intake

Klever-Go Node Crash via Nil-Pointer Panic in Transaction Validation

Vulnerability report for CVE-2026-52878, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-08-07

Last updated on: 2026-08-07

Assigner: GitHub, Inc.

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.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-08-07
Last Modified
2026-08-07
Generated
2026-08-08
AI Q&A
2026-08-08
EPSS Evaluated
N/A
NVD

Affected Vendors & Products

Showing 2 associated CPEs
Vendor Product Version / Range
klever klever-go From 1.7.14 (inc) to 1.7.17 (inc)
klever klever-go 1.7.18

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-476 The product dereferences a pointer that it expects to be valid but is NULL.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

Klever-Go versions 1.7.14 to 1.7.17 have a nil-pointer panic vulnerability. A malformed protobuf Transaction missing its RawData sub-message causes RawData to decode as nil. The node crashes when validating transactions because tx.RawData.Version is dereferenced without a nil check in the libp2p pubsub topic-validator callback.

Detection Guidance

This vulnerability causes a nil-pointer panic when a malformed protobuf Transaction without a RawData sub-message is processed. Monitor node logs for panic errors or crashes during transaction validation. Check for unexpected node restarts or failures in the P2P network layer.

Impact Analysis

An attacker can send a 3-byte malicious message to crash Klever-Go nodes. If enough BLS validator nodes are targeted, the entire blockchain network can halt block production, disrupting operations and causing downtime.

Compliance Impact

This vulnerability does not directly affect compliance with GDPR, HIPAA, or similar standards as it pertains to a blockchain node implementation rather than data handling or privacy controls.

Mitigation Strategies

Upgrade to Klever-Go version 1.7.18 or later immediately to patch the vulnerability. Ensure all nodes in the network are updated to prevent chain halts. Monitor network stability and restart nodes if crashes occur due to this issue.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-52878. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart