Klever-Go CVE-2026-52880
HIGHAttack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessIdentify Klever node REST API exposed on port 8080
-
DeliveryOpen many TCP connections without completing HTTP request headers
-
ExploitServer allocates goroutine and file descriptor per stalled connection
-
ExecutionHold connections until process file descriptor limit is exhausted
-
PersistNew legitimate TCP connections cannot be accepted
-
ImpactREST API fully unavailable to legitimate clients
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V2 - Validation and Business Logic Resource consumption limits
MITRE ATT&CK
1 technique across 1 tactic: Impact The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires that the REST API listener is bound to a non-localhost interface, which occurs in two documented deployment scenarios: use of the --rest-api-interface :8080 flag (documented as the default binding example in cmd/node/CLI.md and cmd/seednode/CLI.md, binding all interfaces) or Docker deployments following the official docker/README.md examples that publish host port 8080. If the REST API is configured as --rest-api-interface off, the attack surface is entirely eliminated. If the flag is set to a loopback-only address such as 127.0.0.1:8080, the vulnerability is not remotely exploitable. No authentication is required (PR:N confirmed by CVSS vector); any TCP client capable of reaching port 8080 and withholding HTTP header completion can participate. The attack does not require P2P network access, blockchain protocol knowledge, or any application-level credentials - only TCP connectivity to the REST port. |
| Impact | The CVSS 3.1 vector AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H and base score of 7.5 accurately characterize this vulnerability: fully network-reachable, trivially low complexity, requiring no authentication or user interaction, with full availability impact and no confidentiality or integrity loss. There is no CISA KEV listing, indicating no confirmed widespread active exploitation in the wild. However, the existence of a working proof-of-concept documented in the vendor advisory substantially elevates real-world risk: the attack technique is a well-understood slow-loris-style HTTP exhaustion approach that requires no specialized tooling, is trivially automatable, and needs only 120 connections to fully block a node. EPSS data was not provided in the source intelligence. The attack surface is meaningfully expanded in Docker deployments - the official docker/README.md examples publish host port 8080, directly exposing the REST listener to network adversaries without additional network controls. The vulnerability is limited to availability; there is no lateral escalation path or data exfiltration risk. For node operators running the documented :8080 all-interface bind or a Docker port-publish deployment, this is a genuine operational priority despite the absence of KEV listing. |
| Exploit ScenarioDerived | An unauthenticated attacker with network access to the Klever node's REST API port (default 8080) opens a large number of TCP connections and sends the beginning of an HTTP request header on each - enough bytes to pass TCP keepalive but never enough to complete the header line. Because no ReadHeaderTimeout is configured, the server holds a goroutine and file descriptor open per connection indefinitely; once the process file descriptor limit is reached, the OS cannot hand new sockets to the application. The GHSA advisory documented a working PoC on v1.7.17 in which 120 slow-header connections caused all 20 of 20 legitimate /log probe requests to fail with 'accept: too many open files', fully denying API service to legitimate clients. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 07, 2026
REST API connection exhaustion in Klever-Go versions 1.7.14 through 1.7.17 allows unauthenticated remote attackers to render node API services unavailable by holding slow-header connections open until server file descriptors are exhausted. The root cause is Gin's Engine.Run convenience method, which delegates to Go's default http.ListenAndServe without any ReadHeaderTimeout, ReadTimeout, or MaxHeaderBytes configured, leaving incoming connections open indefinitely if the client never completes request headers. A proof-of-concept documented in GHSA-w4c6-7r69-w7j9 confirmed that 120 such connections caused all 20 of 20 legitimate API probes to fail with 'accept: too many open files' on v1.7.17; no CISA KEV listing was found, and no public exploit beyond the researcher's PoC is identified at time of analysis.
RemediationAI
The primary fix is to upgrade to Klever-Go v1.7.18, a coordinated security release that replaces the Engine.Run pattern with an explicit http.Server configured with ReadHeaderTimeout, ReadTimeout, and MaxHeaderBytes limits. No configuration changes or data migration are required; the release is behavior-compatible with v1.7.17 per the vendor release notes at https://github.com/klever-io/klever-go/releases/tag/v1.7.18. The security advisory is at https://github.com/klever-io/klever-go/security/advisories/GHSA-w4c6-7r69-w7j9. If immediate upgrade is not possible, operators should apply firewall or network ACL rules to restrict access to the REST API port (default 8080) to trusted IP ranges only, accepting the trade-off of reduced API accessibility. Docker deployments should remove or restrict the -p 8080:8080 port-publish flag in their container configuration. If the REST API is not operationally required, setting --rest-api-interface off disables it entirely, eliminating the attack surface at the cost of all REST API functionality.
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in go
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Klever-Go is the Go implementation of the Klever blockchain protocol, exposing both a seednode REST API (cmd/seednode/api/api.go) and a full-node REST API (network/api/api.go) via the Gin web framework v1.9.1. The vulnerability arises because Gin's Engine.Run convenience method internally calls net/http.ListenAndServe, which constructs an http.Server with zero-value configuration, meaning no ReadHeaderTimeout, ReadTimeout, or MaxHeaderBytes limits are applied at the application layer. CWE-400 (Uncontrolled Resource Consumption) is the root cause class: Go's HTTP server allocates a goroutine and a file descriptor for each accepted TCP connection, but without a header-read deadline, clients that send a partial HTTP request header and then stall hold those resources indefinitely. Both affected API startup paths - cmd/seednode/api/api.go:23 (ws.Run(restAPIInterface)) and network/api/api.go:98 (ws.Run(kleverFacade.RestAPIInterface())) - follow this identical pattern. The advisory confirmed the develop branch at commit 10bcfd50 remained affected prior to the patch. The vulnerable package is github.com/klever-io/klever-go, versions >= 1.7.14 and <= 1.7.17.
Know when Docker gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Network-reachable DoS requiring no authentication, low complexity, and no user interaction; impact is availability-only with no confidentiality or integrity effect.
Primary rating from Vendor (github).
CVSS VectorVendor: github
DescriptionCVE.org
Klever-Go is the Go implementation of the Klever blockchain protocol. Versions from 1.7.14 through 1.7.17 are vulnerable to a remotely triggerable denial of service. Both REST APIs are started with the Gin Engine.Run convenience method, which serves requests through Go's default HTTP server with no ReadHeaderTimeout, ReadTimeout, or MaxHeaderBytes configured. As a result, incoming connections that never complete their request headers are held open indefinitely. When a REST listener is reachable beyond localhost through the documented all-interface bind or a Docker port-publish deployment, a single unauthenticated client can open many slow-header connections and hold them open until server file descriptors are exhausted, preventing the API from accepting new connections. This renders the REST API unavailable to legitimate clients. This issue is fixed in version 1.7.18.
Executive ViewAI
Klever-Go REST API (versions 1.7.14-1.7.17) is vulnerable to unauthenticated denial-of-service attacks that exhaust server file descriptors and render node API services completely unavailable. An attacker can disable all API endpoints with minimal effort by establishing slow-header connections, directly impacting operational continuity for any organization using affected versions. Without vendor patches, this requires immediate interim protection and urgent upgrade planning.
No vendor-released patch identified at time of analysis. Interim mitigations include: (1) enforcing ReadHeaderTimeout and ReadTimeout at reverse proxy layer (nginx client_header_timeout, client_body_timeout); (2) implementing connection and concurrent request limits via API gateway or application firewall; (3) deploying WAF rules to reject incomplete requests exceeding timeout thresholds; (4) establishing file descriptor monitoring with automated alerting at 70% threshold; (5) rate limiting on connection establishment per source IP.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
An issue was discovered in Appsmith before 1.52. Rated critical severity (CVSS 9.8), this vulnerability is remotely expl
runc through version 1.0-rc6 (used in Docker before 18.09.2) contains a container escape vulnerability that allows attac
Netmaker makes networks with WireGuard. Rated high severity (CVSS 7.5), this vulnerability is remotely exploitable, no a
Unauthenticated remote code execution in Marimo ≤0.20.4 allows attackers to execute arbitrary system commands via the `/
The News & Blog Designer Pack - WordPress Blog Plugin - (Blog Post Grid, Blog Post Slider, Blog Post Carousel, Blog Post
Path traversal in JFrog Artifactory (CWE-22) enables an authenticated low-privilege user to write data outside the inten
Docker 1.3.2 allows remote attackers to execute arbitrary code with root privileges via a crafted (1) image or (2) build
Remote code execution in Gogs through 0.14.2 allows authenticated users (and unauthenticated attackers on default-config
Unauthenticated remote command injection in SGWBOX N3 firmware 2.0.25 lets attackers execute arbitrary operating-system
Remote code execution in Flowise before 3.1.2 allows any authenticated user (or API caller with chatflow view/update per
Remote code execution in NocoBase Workflow Script Node (npm @nocobase/plugin-workflow-javascript) allows authenticated l
Docker Desktop Community Edition before 2.1.0.1 allows local users to gain privileges by placing a Trojan horse docker-c
Same weakness CWE-400 – Uncontrolled Resource Consumption
View allSame technique Denial Of Service
View allVendor StatusVendor
SUSE
Severity: Important| Product | Status |
|---|---|
| SUSE Linux Enterprise Server 16.1 | Affected |
| SUSE Linux Enterprise Server for SAP applications 16.1 | Affected |
| SUSE Linux Enterprise Module for Package Hub 15 SP5 | Affected |
| SUSE Linux Enterprise Module for Package Hub 15 SP6 | Affected |
| openSUSE Leap 15.5 | Affected |
| openSUSE Leap 15.6 | Affected |
NVD
CVE.org
EPSS
GitHub
VulDB
Exploit-DB