<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:webfeeds="http://webfeeds.org/rss/1.0"><channel><title>Cpe:2.3:a:klever:klever-Go:*:*:*:*:*:*:*:* - CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/cpes/cpe2.3akleverklever-go/</link><description>Trending threats, MITRE ATT&amp;CK coverage, and detection metadata. Fed continuously.</description><generator>Hugo</generator><language>en</language><managingEditor>hello@craftedsignal.io</managingEditor><webMaster>hello@craftedsignal.io</webMaster><lastBuildDate>Wed, 23 Sep 2026 19:57:00 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/cpes/cpe2.3akleverklever-go/feed.xml" rel="self" type="application/rss+xml"/><image><url>https://feed.craftedsignal.io/favicon-32x32.png</url><title>CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/</link><width>32</width><height>32</height></image><webfeeds:icon>https://feed.craftedsignal.io/favicon.svg</webfeeds:icon><item><title>Authorization Bypass in Klever-Go KleverUpdateAccountPermission Built-in</title><link>https://feed.craftedsignal.io/briefs/2026-09-klever-vm-auth-bypass/</link><pubDate>Wed, 23 Sep 2026 19:57:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-09-klever-vm-auth-bypass/</guid><description>An authorization flaw in the Klever-Go VM allows attackers to execute an account takeover by leveraging an incorrectly validated RecipientAddr parameter during indirect smart contract calls.</description><content:encoded><![CDATA[<p>A critical authorization vulnerability (CVE-2026-82405) exists in the <code>KleverUpdateAccountPermission</code> built-in function within the <code>klever-go</code> repository, affecting versions 1.7.19 and earlier. The vulnerability occurs because the function validates permissions against the <code>vmInput.RecipientAddr</code> field rather than the authenticated <code>vmInput.CallerAddr</code>.</p>
<p>In the context of an indirect smart contract call via <code>ExecuteOnDestContext</code>, the <code>RecipientAddr</code> is determined by the destination contract's chosen <code>dest</code> argument, which an attacker can manipulate. Because most accounts are configured as their own signers by default, the permission check incorrectly returns <code>true</code> when the attacker specifies the target account as the recipient. This allows an attacker to overwrite the entire permission set of any target account with their own malicious keys, resulting in a full account takeover. The issue is restricted to calls originating from smart contracts, as the native transaction path correctly validates senders.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Attacker deploys a malicious smart contract to the blockchain.</li>
<li>Attacker initiates an <code>ExecuteOnDestContext</code> call from their malicious contract.</li>
<li>Attacker sets the <code>dest</code> argument to the victim account address (V).</li>
<li>The VM dispatch mechanism <code>prepareIndirectContractCallInput</code> sets <code>RecipientAddr</code> to V and <code>CallerAddr</code> to the attacker's contract.</li>
<li>The <code>KleverUpdateAccountPermission</code> handler receives the call and executes <code>contractHasValidPermission</code> using the attacker-controlled <code>RecipientAddr</code> (V).</li>
<li>The check compares V against V's own signers, which inherently grants permission for the Owner type.</li>
<li>The VM proceeds to <code>UpdatePermission</code>, replacing V's original account permissions with attacker-supplied signers.</li>
<li>Attacker gains full control over the victim account, enabling asset theft or account lock.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation results in the complete compromise of any account with configured permissions on the Klever blockchain. Victims include multisig and advanced-permission accounts. Attackers can evict original owners and gain full control over all operations associated with the victim's address, leading to irreversible loss of funds or total account lockout.</p>
<h2 id="recommendation">Recommendation</h2>
<p>Patch the <code>KleverUpdateAccountPermission</code> handler to validate authorization against <code>vmInput.CallerAddr</code> instead of <code>vmInput.RecipientAddr</code>.
Update <code>klever-go</code> to a version containing the fix for CVE-2026-82405.
Review all smart contract built-in function handlers in the <code>klever-go</code> codebase for similar authorization discrepancies between <code>RecipientAddr</code> and <code>CallerAddr</code>.
Implement logic to require the target account address in <code>Arguments[0]</code> to match the authenticated caller or a legitimately authorized entity.</p>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>blockchain</category><category>smart-contract</category><category>vulnerability</category><category>privilege-escalation</category><category>klever-go</category><category>log-manipulation</category><category>unauthenticated-access</category><category>websocket-vulnerability</category></item></channel></rss>