CVE-2026-82405: CWE-863: Incorrect Authorization in klever-io klever-go
Klever-Go is the Go implementation of the Klever blockchain protocol. Prior to 1.7.20, the KleverUpdateAccountPermission built-in authorizes replacement of a target account's permissions by checking attacker-controlled vmInput.RecipientAddr instead of authenticated vmInput.CallerAddr. An attacker-controlled contract can choose a victim account with configured permissions as RecipientAddr, and contractHasValidPermission can accept the victim's default self-signer as authorization. UpdatePermission can then replace the victim's entire permission set with attacker-supplied Owner permissions, enabling asset theft or permanent lockout without a victim key or signature. Accounts without stored permissions and the native transaction path are not affected. This issue is fixed in version 1.7.20.
AI Analysis
Technical Summary
In klever-go versions before 1.7.20, the KleverUpdateAccountPermission built-in function authorizes permission replacement by checking vmInput.RecipientAddr, which can be attacker-controlled, instead of the authenticated vmInput.CallerAddr. This incorrect authorization (CWE-863) allows an attacker-controlled contract to specify a victim account as RecipientAddr. The contractHasValidPermission function then incorrectly accepts the victim's default self-signer as valid authorization. Consequently, the attacker can replace the victim's entire permission set with attacker-supplied Owner permissions, enabling asset theft or permanent lockout without requiring the victim's key or signature. The vulnerability does not affect accounts without stored permissions or the native transaction path. The vulnerability is resolved in klever-go version 1.7.20.
Potential Impact
An attacker can escalate privileges on victim accounts by replacing their permission sets with attacker-controlled owner permissions. This enables theft of assets or permanent lockout of the victim account without needing the victim's private key or signature. The vulnerability affects accounts with stored permissions and can lead to severe compromise of account control and assets.
Mitigation Recommendations
Upgrade klever-go to version 1.7.20 or later, where this authorization flaw is fixed. No other mitigation is required as the issue is resolved in the official fix.
CVE-2026-82405: CWE-863: Incorrect Authorization in klever-io klever-go
Description
Klever-Go is the Go implementation of the Klever blockchain protocol. Prior to 1.7.20, the KleverUpdateAccountPermission built-in authorizes replacement of a target account's permissions by checking attacker-controlled vmInput.RecipientAddr instead of authenticated vmInput.CallerAddr. An attacker-controlled contract can choose a victim account with configured permissions as RecipientAddr, and contractHasValidPermission can accept the victim's default self-signer as authorization. UpdatePermission can then replace the victim's entire permission set with attacker-supplied Owner permissions, enabling asset theft or permanent lockout without a victim key or signature. Accounts without stored permissions and the native transaction path are not affected. This issue is fixed in version 1.7.20.
CVSS v4.0
Score 8.7high
Affected software
klever-io
klever-go
pkg:golang/github.com/klever-io/klever-goRun on your own infrastructure? Check whether these packages are installed with threat-finder — our free open-source scanner.
Weaknesses
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
In klever-go versions before 1.7.20, the KleverUpdateAccountPermission built-in function authorizes permission replacement by checking vmInput.RecipientAddr, which can be attacker-controlled, instead of the authenticated vmInput.CallerAddr. This incorrect authorization (CWE-863) allows an attacker-controlled contract to specify a victim account as RecipientAddr. The contractHasValidPermission function then incorrectly accepts the victim's default self-signer as valid authorization. Consequently, the attacker can replace the victim's entire permission set with attacker-supplied Owner permissions, enabling asset theft or permanent lockout without requiring the victim's key or signature. The vulnerability does not affect accounts without stored permissions or the native transaction path. The vulnerability is resolved in klever-go version 1.7.20.
Potential Impact
An attacker can escalate privileges on victim accounts by replacing their permission sets with attacker-controlled owner permissions. This enables theft of assets or permanent lockout of the victim account without needing the victim's private key or signature. The vulnerability affects accounts with stored permissions and can lead to severe compromise of account control and assets.
Mitigation Recommendations
Upgrade klever-go to version 1.7.20 or later, where this authorization flaw is fixed. No other mitigation is required as the issue is resolved in the official fix.
Technical Details
- Data Version
- 5.2
- Assigner Short Name
- GitHub_M
- Date Reserved
- 2026-08-28T22:00:43.513Z
- Cvss Version
- 4.0
- State
- PUBLISHED
Threat ID: 6ab42979f7a7c541063b50bd
Added to database: 09/23/2026, 19:33:13 UTC
Last enriched: 09/23/2026, 19:47:46 UTC
Last updated: 09/24/2026, 03:48:27 UTC
Views: 11
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.