solana-foundation/anchor · Security
Anchor: `InterfaceAccount` allows account substitution between unexpected types
- GHSA ID
- GHSA-429q-fhh4-r6hj
- Severity
- high
- Published
- Updated
- CVSS v4
- 8.7 · CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N
Description
Impact
Any uses of InterfaceAccount allows another unexpected account type to be passed, after https://github.com/solana-foundation/anchor/pull/3837 disabled discriminator checking for this type.
The bug was originally reported and fixed in https://github.com/solana-foundation/anchor/pull/4139, see that PR for more details.
Patches
https://github.com/solana-foundation/anchor/pull/4139 patched the issue and was released in 1.0.0-rc.2. Users should upgrade to the latest released version of Anchor 1.0.
References
Bug landed in: https://github.com/solana-foundation/anchor/pull/3837 Bug fixed in: https://github.com/solana-foundation/anchor/pull/4139
CWEs
- CWE-20 · Improper Input Validation
References
- https://github.com/solana-foundation/anchor/security/advisories/GHSA-429q-fhh4-r6hj ↗
- https://github.com/solana-foundation/anchor/pull/3837 ↗
- https://github.com/solana-foundation/anchor/pull/4139 ↗
- https://github.com/solana-foundation/anchor/commit/26ef36968a62e28a1f028e7adae4806af30c747d ↗
- https://github.com/otter-sec/anchor/security/advisories/GHSA-429q-fhh4-r6hj ↗
- https://rustsec.org/advisories/RUSTSEC-2026-0146.html ↗
- https://github.com/advisories/GHSA-429q-fhh4-r6hj ↗