Klever-Go
CVE-2026-55764
HIGH
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconObtain or hold SFT mint-role for target nonce
-
DeliveryIdentify nonce with finite MaxSupply configured
-
ExploitCraft transaction with Amount = math.MaxInt64
-
InstallSubmit transaction to Klever-Go node
-
C2Unguarded int64 addition wraps Circulation negative
-
ExecuteMaxSupply comparison evaluates false
-
Impact~9.2e18 tokens credited, on-chain counter permanently corrupted
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Integer overflow checks
MITRE ATT&CK
1 technique across 1 tactic: Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires the attacker to hold the mint role for the target SFT nonce - either as the asset owner or as an address explicitly granted the mint role by the owner. The target nonce must have a finite MaxSupply configured (MaxSupply != 0); nonces with MaxSupply set to 0 (unlimited) are not subject to the bypass because the cap check is already unconditionally skipped. Only the SFT add-quantity path (processSemiFungibleAddQuantity) is vulnerable; the fungible token mint path contains a post-increment MintedValue <= 0 guard and is not affected. The attacker must supply a raw Amount value sufficient to cause int64 wraparound, i.e., at or near math.MaxInt64. No user interaction is required beyond submitting a standard blockchain transaction. Authentication requirements beyond mint-role possession are not confirmed from the provided CVSS data, as the stated PR:N vector conflicts with the description's role requirement. |
| Impact | The provided CVSS 4.0 vector (PR:N) conflicts directly with the vulnerability description, which requires an active mint-role holder - an explicitly granted on-chain privilege. This discrepancy is significant: PR:N implies any unauthenticated network party can exploit the flaw, whereas the description and GHSA advisory are clear that only addresses holding the mint role for the target nonce can submit the malicious transaction. The CVSS 4.0 metric assignment of VA:H (availability) while omitting VI (integrity) also appears inconsistent with the primary observable impact, which is unauthorized minting of approximately MaxInt64 tokens and permanent corruption of the on-chain Circulation counter - both integrity violations. No EPSS data is available in the provided intelligence. A working proof-of-concept unit test is publicly available in the GHSA advisory, lowering the exploitation bar for any mint-role holder. The product is a niche blockchain implementation with a limited enterprise footprint, but for any operator running Klever-based infrastructure, this vulnerability directly undermines the economic invariant of finite token supply and should be treated as a high-priority upgrade. The consensus-level activation flag (FixMarketBuyOverflow) required by the fix means remediation depends on coordinated network upgrade, which adds operational complexity beyond a simple binary patch. |
| Exploit ScenarioDerived | An address holding the mint role for an SFT nonce with MaxSupply set to 1000 submits a processSemiFungibleAddQuantity transaction with Amount equal to math.MaxInt64 (9223372036854775807). The unguarded addition wraps Circulation to approximately -9223372036854775804, causing the MaxSupply comparison to evaluate false; the function returns nil and credits ~9.2×10^18 tokens to the attacker. A working proof-of-concept unit test (TestExploit_SFTCirculationOverflowBypassesCap) is published in GHSA-mrpp-v6pg-p54x, confirming the complete bypass in a single transaction. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 28, 2026
Integer overflow in Klever-Go's semi-fungible token (SFT) add-quantity path prior to version 1.7.19 allows a mint-role holder to bypass a finite per-nonce MaxSupply constraint, minting approximately 9.2×10^18 tokens in a single transaction. The SFTAddCirculation function in core/kapp/systemAccount/systemAcount.go increments Circulation before checking the cap, enabling an int64 wraparound that makes the MaxSupply comparison permanently false. A proof-of-concept unit test is included in GHSA-mrpp-v6pg-p54x confirming the bypass; no CISA KEV listing is present at time of analysis.
RemediationAI
Upgrade Klever-Go to version 1.7.19, which is the vendor-confirmed fixed release available at https://github.com/klever-io/klever-go/releases/tag/v1.7.19; the underlying fix commit is 8bcc600b0ac88070740c63c7ce1c8a968dd85251. Because the fix is gated behind the FixMarketBuyOverflow consensus activation flag, node operators must configure the activation epoch to a future epoch after fleet rollout - the advisory explicitly warns that setting it to genesis or a past epoch will cause nodes to reject historical transactions during resync and diverge from chain history. As an immediate compensating control prior to upgrade, operators should audit and revoke mint-role grants for SFT nonces with finite MaxSupply values, since exploitation requires an active mint-role holder; revoking these grants eliminates the attack surface but may disrupt legitimate minting operations. The patch also ships a frozenAccounts mechanism that blocks outgoing transactions from six known attacker-linked addresses; this is a reversible immobilisation measure and does not correct the corrupted supply counters, which are addressed in a subsequent fork.
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, identified by CPE cpe:2.3:a:klever-io:klever-go:*:*:*:*:*:*:*:*. The root cause is CWE-190 (Integer Overflow or Wraparound): in core/kapp/systemAccount/systemAcount.go at lines 132-138, SFTAddCirculation performs meta.Circulation += amount using a signed int64 before evaluating meta.Circulation > meta.MaxSupply && meta.MaxSupply != 0. Supplying an Amount near math.MaxInt64 wraps Circulation to a large negative value, causing the MaxSupply inequality to evaluate false regardless of the declared cap. The caller processSemiFungibleAddQuantity (core/kapp/kda/mint.go:247-283) passes the raw Amount with no upstream upper bound. By contrast, the fungible token path at mint.go:289 has a post-increment MintedValue <= 0 guard that catches the exact same overflow condition, making only the SFT path vulnerable. The fix introduces the FixMarketBuyOverflow consensus activation flag and a frozenAccounts mechanism targeting known attacker-linked addresses, with full supply correction deferred to a later fork.
Know when Klever Go 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
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
Mint-role is an explicit on-chain grant (PR:L); integrity impact is high due to unauthorized token minting and counter corruption; availability impact is low as service continues operating.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
DescriptionCVE.org
Klever-Go is the Go implementation of the Klever blockchain protocol. Prior to 1.7.19, Klever-Go allows a mint-role holder to bypass a finite per-nonce MaxSupply on the semi-fungible token add-quantity path. In core/kapp/systemAccount/systemAcount.go, SFTAddCirculation performed meta.Circulation += amount before evaluating whether Circulation exceeded MaxSupply, without checking for signed int64 overflow. A large positive raw Amount supplied through processSemiFungibleAddQuantity in core/kapp/kda/mint.go can wrap Circulation negative, causing the signed maximum-supply comparison to pass and crediting approximately MaxInt64 units while corrupting the on-chain counter. The fungible path is not affected because its MintedValue <= 0 guard detects the overflow. The correction uses the consensus activation flag FixMarketBuyOverflow. This issue is fixed in version 1.7.19.
Technical POC Analysis
CWE-190 (Integer Overflow or Wraparound) in SFTAddCirculation, core/kapp/systemAccount/systemAcount.go:132-138 (filename spelling per advisory).
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
Klever-Go versions prior to 1.7.19 contain a vulnerability that allows authorized minting roles to bypass token supply limits and mint unlimited tokens. Proof-of-concept code demonstrating this attack is publicly available, with no vendor patch currently available. Organizations using Klever-Go for token issuance face immediate risk of token supply inflation and economic damage if minting access is compromised.
No vendor-released patch identified at time of analysis. Interim mitigations include: (1) strict access control on minting roles with additional multi-factor authentication; (2) continuous monitoring and alerting for mint operations approaching token supply limits; (3) transaction-level validation to detect and reject supply cap bypass attempts; (4) comprehensive audit logging of all minting operations for incident investigation. Monitor vendor security channels for patch release.
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
A buffer overflow occurs when a program writes more data to a memory buffer than it was allocated to hold, causing the excess data to spill into adjacent memory regions.
Integer overflow occurs when an arithmetic operation produces a result that exceeds the maximum value a given integer type can store.
Affected Products (CPE)CVE.org
Account takeover in Klever-Go's KleverUpdateAccountPermission built-in (all versions prior to 1.7.20) allows an attacker
Maliciously crafted on-chain account names processed by Klever-Go prior to 1.7.20 are spliced into Elasticsearch _bulk r
Improper enforcement of the marketplace settlement workflow in Klever-Go prior to 1.7.20 lets an authenticated seller se
Unbounded goroutine exhaustion in Klever-Go versions 1.7.14-1.7.17 allows any connected libp2p peer to remotely degrade
Unauthenticated remote crash in Klever-Go versions 1.7.14-1.7.17 allows any network peer to terminate a node process by
Consensus quorum bypass in Klever-Go prior to v1.7.20 allows a low-privileged block producer to satisfy the two-thirds v
Missing BLS public key validation in Klever-Go prior to 1.7.20 allows a remote authenticated party with validator-regist
GHSA-mrpp-v6pg-p54x
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB