<?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/"><channel><title>Account-Substitution — CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/tags/account-substitution/</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, 13 May 2026 15:36:36 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/tags/account-substitution/feed.xml" rel="self" type="application/rss+xml"/><item><title>Anchor: InterfaceAccount Allows Account Substitution</title><link>https://feed.craftedsignal.io/briefs/2026-05-anchor-interfaceaccount-substitution/</link><pubDate>Wed, 13 May 2026 15:36:36 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-05-anchor-interfaceaccount-substitution/</guid><description>The `InterfaceAccount` in `anchor-lang` allows an unexpected account type to be passed due to disabled discriminator checking, patched in version 1.0.0-rc.2 and later.</description><content:encoded><![CDATA[<p>A vulnerability exists within the <code>InterfaceAccount</code> type in the <code>anchor-lang</code> package of the Anchor framework. This flaw allows for the substitution of account types because discriminator checking was unintentionally disabled in pull request #3837. An attacker could potentially exploit this by passing an account of an unexpected type, leading to unexpected behavior in Solana programs. The vulnerability affects version 1.0.0-rc.1. The fix was implemented in pull request #4139 and released in <code>1.0.0-rc.2</code>. Users are strongly advised to upgrade to the latest released version of Anchor 1.0 to mitigate this risk. This impacts programs utilizing the Anchor framework on the Solana blockchain.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker identifies a Solana program utilizing <code>InterfaceAccount</code> with Anchor version 1.0.0-rc.1.</li>
<li>The attacker crafts a malicious transaction that attempts to pass an account of an incorrect type to the program via <code>InterfaceAccount</code>.</li>
<li>The program, lacking discriminator checking due to the vulnerability, accepts the incorrect account.</li>
<li>The program attempts to process the provided account based on the expected type.</li>
<li>Due to type mismatch, the program may experience unexpected behavior, such as data corruption.</li>
<li>The attacker leverages the corrupted data to manipulate program logic.</li>
<li>The attacker is able to perform unauthorized actions within the Solana program.</li>
<li>This can lead to financial loss, unauthorized data access, or denial of service for other users.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>The vulnerability allows attackers to substitute account types in Solana programs using the Anchor framework&rsquo;s <code>InterfaceAccount</code>, potentially leading to data corruption and unauthorized actions.  This impacts any Solana program using the vulnerable <code>InterfaceAccount</code> in <code>anchor-lang</code> version 1.0.0-rc.1. Successful exploitation could result in financial loss, data breaches, or denial-of-service for users of the affected Solana programs.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade to the latest released version of Anchor 1.0 (&gt;= 1.0.0-rc.2) as described in the advisory to patch the vulnerable <code>InterfaceAccount</code> type.</li>
<li>Examine your Solana programs for uses of <code>InterfaceAccount</code> in conjunction with <code>anchor-lang</code> 1.0.0-rc.1 and prioritize patching these programs.</li>
<li>Monitor Solana program activity for unexpected account interactions and type mismatches as a potential indicator of exploitation.</li>
</ul>
]]></content:encoded><category domain="severity">medium</category><category domain="type">advisory</category><category>anchor</category><category>solana</category><category>interfaceaccount</category><category>account-substitution</category></item></channel></rss>