Skip to main content
Press slash or control plus K to focus the search. Use the arrow keys to navigate results and press enter to open a threat.
Reconnecting to live updates…

CVE-2026-46403: CWE-693: Protection Mechanism Failure in klever-io klever-go

0
Medium
VulnerabilityCVE-2026-46403cvecve-2026-46403cwe-693
Published: 07/21/2026 (07/21/2026, 19:51:18 UTC)
Source: CVE Database V5
Vendor/Project: klever-io
Product: klever-go

Description

Klever-Go is the Go implementation of the Klever blockchain protocol. Prior to 1.7.17, KVM exposes `ExecuteReadOnlyWithTypedArguments` as a read-only execution mechanism. The hook saves the previous read-only state, sets `runtime.SetReadOnly(true)`, executes the destination context, and then restores the previous read-only state. However, the indirect contract delete and upgrade paths do not reject execution when `runtime.ReadOnly()` is true. As a result, a contract reached through read-only execution can call the production delete hook for a target contract it owns. The delete path appends the target address to `vmOutput.DeletedAccounts`, the output context merges `DeletedAccounts` into the caller output, and the smart contract processor later processes the VM output by deleting accounts listed in that field. The root cause is that read-only mode is applied as runtime state, but not enforced by the state-changing delete and upgrade host-core paths. This breaks the expected isolation boundary for workflows that rely on read-only calls to inspect another contract without allowing that callee to produce state-changing VM output. The issue is fixed in v1.7.17. Contract delete and upgrade host-core paths now reject execution when `runtime.ReadOnly()` is true. The invariant is regression-tested for delete, upgrade, storage writes, value transfers, and any VM output field that can later mutate chain state.

CVSS v3.1

Score 6.3medium

Attack Vector
Network
Attack Complexity
High
Privileges Required
Low
User Interaction
None
Scope
Changed
Confidentiality
None
Integrity
High
Availability
None
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:N/I:H/A:N

Affected software

github.com/klever-io/klever-go
pkg:golang/github.com/klever-io/klever-go
Affected versions
<1.7.17

Run on your own infrastructure? Check whether these packages are installed with threat-finder — our free open-source scanner.

AI-Powered Analysis

Machine-generated threat intelligence

AILast updated: 07/21/2026, 20:37:07 UTC

Technical Analysis

CVE-2026-46403 is a vulnerability in klever-io's klever-go blockchain protocol implementation prior to version 1.7.17. The vulnerability arises because the read-only execution mode, exposed via ExecuteReadOnlyWithTypedArguments, sets a runtime read-only flag but does not enforce this state in indirect contract delete and upgrade paths. Consequently, a contract called in read-only mode can invoke the production delete hook to delete contracts it owns. The delete operation appends the target contract address to a deletion list processed later to remove accounts, thus enabling unauthorized state changes during what should be read-only calls. The root cause is that read-only mode is a runtime state flag but not enforced by state-changing host-core paths. This breaks the isolation expected from read-only calls. The issue was fixed in version 1.7.17 by adding checks that reject delete and upgrade executions when runtime.ReadOnly() is true, with regression tests covering delete, upgrade, storage writes, value transfers, and other VM output fields that mutate chain state.

Potential Impact

The vulnerability allows contracts invoked in read-only mode to perform unauthorized state changes, specifically deleting contracts they own. This breaks the isolation boundary of read-only calls, potentially leading to unintended or malicious contract deletions. The impact is limited to integrity (I:H) with no confidentiality or availability impact reported. The CVSS 3.1 score is 6.3 (medium) reflecting a network attack vector, high attack complexity, low privileges required, no user interaction, and a scope change.

Mitigation Recommendations

A fix is available in klever-go version 1.7.17. Users should upgrade to version 1.7.17 or later to ensure that contract delete and upgrade operations are rejected during read-only execution, restoring the expected isolation boundary. Patch status is confirmed by the vendor's advisory stating the issue is fixed in v1.7.17. No additional mitigation actions are indicated.

Pro Console: star threats, build custom feeds, automate alerts via Slack, email & webhooks.Upgrade to Pro

Technical Details

Data Version
5.2
Assigner Short Name
GitHub_M
Date Reserved
2026-05-13T21:04:10.932Z
Cvss Version
3.1
State
PUBLISHED
Remediation Level
null

Threat ID: 6a5fd4a41010f89cc224946a

Added to database: 07/21/2026, 20:20:52 UTC

Last enriched: 07/21/2026, 20:37:07 UTC

Last updated: 07/21/2026, 21:03:13 UTC

Views: 2

Community Reviews

0 reviews

Crowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.

Sort by
Loading community insights…

Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.

Actions

PRO

Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.

Please log in to the Console to use AI analysis features.

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

Breach by OffSeqOFFSEQFRIENDS — 25% OFF

Check if your credentials are on the dark web

Instant breach scanning across billions of leaked records. Free tier available.

Scan now
OffSeq TrainingCredly Certified

Lead Pen Test Professional

Technical5-day eLearningPECB Accredited
View courses