CVE-2026-52879 in klever-goinfo

Summary

by MITRE • 08/08/2026

Klever-Go is the Go implementation of the Klever blockchain protocol. In versions 1.7.14 through 1.7.17, the direct-message ingress handler spawns a new goroutine for every incoming direct message before the processor-level antiflood layer makes any admission decision, with no semaphore, throttler, or bound on the number of concurrent in-flight spawns. Because the antiflood check runs inside the spawned goroutine rather than before it, a single connected peer can open a direct-send stream and send a stream of well-formed messages to force unbounded goroutine creation, where each goroutine allocates its own stack and holds a message reference until processing completes, adding scheduler and garbage-collection pressure faster than the runtime can drain it. This lets one peer degrade the node's availability and its ability to process legitimate traffic, resulting in a remotely triggerable denial of service. The issue is fixed in 1.7.18.

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

Analysis

by VulDB Data Team • 08/08/2026

The vulnerability exists within the Klever-Go blockchain implementation where the direct-message ingress handler demonstrates a critical design flaw in concurrent goroutine management. This flaw manifests as an unbounded spawning mechanism that creates a new goroutine for every incoming direct message without any concurrency controls or resource limitations. The absence of semaphores, throttlers, or bounds on concurrent in-flight goroutine creation represents a fundamental failure in resource management architecture. The antiflood admission control mechanism, which should serve as the primary defense against malicious message flooding, is positioned to execute within the spawned goroutine rather than preceding it, creating a dangerous operational pattern where resource exhaustion occurs before any access control decisions are made.

The technical implementation of this vulnerability directly violates established security principles and patterns outlined in CWE-775, which addresses improper handling of resources that can lead to denial of service conditions. When a single peer establishes a direct-send stream and begins transmitting well-formed messages, the system becomes vulnerable to a resource exhaustion attack that specifically targets the Go runtime's goroutine scheduler and memory management systems. Each spawned goroutine allocates its own stack space and maintains message references until processing completes, creating a cascade of memory allocations that steadily increases the system's memory pressure while simultaneously overwhelming the garbage collector with objects that cannot be collected quickly enough to maintain system responsiveness.

The operational impact of this vulnerability extends far beyond simple resource consumption, as it creates a remotely triggerable denial of service condition that can severely degrade node availability and legitimate traffic processing capabilities. Attackers can exploit this flaw by establishing a single connection and sending sustained streams of messages, causing the system to consume increasing amounts of memory and CPU resources without any mechanism to prevent or limit such behavior. The combination of unbounded goroutine creation, stack allocation per goroutine, and message reference retention creates a perfect storm for system degradation that can affect not only the targeted node but potentially disrupt the broader blockchain network's ability to maintain consistent operation and transaction processing throughput.

Mitigation strategies must address both the immediate implementation flaw and establish robust resource management patterns that prevent similar vulnerabilities from occurring in future deployments. The fix implemented in version 1.7.18 demonstrates proper resource management by introducing appropriate concurrency controls and ensuring that admission decisions occur before any resource allocation takes place. Organizations should implement similar defensive measures including the use of semaphore-based goroutine limiting, bounded queue systems for message processing, and pre-processing validation layers that can filter or reject malicious traffic before any significant system resources are committed to handling it. This vulnerability highlights the critical importance of applying the principle of least privilege and resource isolation in concurrent programming environments, particularly within distributed systems where single points of failure can have cascading effects across entire networks. The attack pattern aligns with ATT&CK technique T1498, which focuses on resource exhaustion attacks that target system availability through manipulation of computational resources.

Responsible

GitHub M

Reservation

06/08/2026

Disclosure

08/08/2026

Moderation

accepted

CPE

ready

EPSS

0.00000

KEV

no

Activities

low

Sources

Interested in the pricing of exploits?

See the underground prices here!