Skip to main content

Rs Soroban Sdk CVE-2026-26267

HIGH
Always-Incorrect Control Flow Implementation (CWE-670)
2026-02-19 security-advisories@github.com GHSA-4chv-4c6w-w254
7.5
CVSS 3.1 · GitHub Advisory
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Deploy Soroban contract with duplicate function names
  2. Exploit
    Macro generates incorrect function wiring
  3. Execution
    Trait function call resolves to inherent function
  4. Impact
    Unintended contract logic executes

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A06:2021 - Vulnerable and Outdated Components
ASVS 5.0
V15 - Secure Coding and Architecture Always-incorrect control flow
Exploitation Conditions

Soroban contract must define both a trait implementation block (impl Trait for MyContract) and an inherent function with identical names in soroban-sdk versions prior to 22.0.10, 23.5.2, or 25.1.1. The contract must be compiled and deployed to the Soroban network.

Impact

CVSS 7.5 (HIGH). Attack vector: Network. Complexity: Low. Privileges required: None. User interaction: None. Public exploit/POC available.

Exploit ScenarioDerived

An attacker could exploit this vulnerability to compromise the affected system.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.0% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Mar 12, 2026

Function name collision in Rs Soroban SDK versions prior to 22.0.10, 23.5.2, and 25.1.1 causes the #[contractimpl] macro to invoke incorrect functions when both trait and inherent implementations share identical function names, allowing attackers to exploit logic flaws through public exploit code. Smart contract developers using affected versions risk silent execution of unintended code paths that could compromise contract integrity and security guarantees. Patches are available for all vulnerable versions.

Earlier versions of this analysis (1)
v1 Mar 12, 2026 - 22:03 CVSS 7.5

Rs-Soroban-Sdk versions up to 22.0.10 is affected by always-incorrect control flow implementation (CVSS 7.5).

RemediationAI

A vendor patch is available — apply it immediately. Restrict network access to the affected service where possible.

Affected Packages

cargo soroban-sdk-macros fix: 22.0.10, 23.5.2, 25.1.1

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in cargo

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

This vulnerability (CWE-670: Always-Incorrect Control Flow Implementation) exists in the how it wires up component. soroban-sdk is a Rust SDK for Soroban contracts. Prior to versions 22.0.10, 23.5.2, and 25.1.1, the #[contractimpl] macro contains a bug in how it wires up function calls. #[contractimpl] generates code that uses MyContract::value() style calls even when it's processing the trait version. This means if an inherent function is also defined with the same name, the inherent function gets called instead of the trait function. This means the Wasm-exported entry point silently calls the wrong fu

Know when Rs Soroban Sdk gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

GitHub Advisory PRIMARY 7.5 HIGH
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N

Primary rating from GitHub Advisory · only source for this CVE.

CVSS VectorGitHub Advisory

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
High
Availability
None

Lifecycle Timeline

3
PoC Detected
Feb 20, 2026 - 19:49 vuln.today
Public exploit code
Patch released
Feb 20, 2026 - 19:49 nvd
Patch available
CVE Published
Feb 19, 2026 - 20:25 nvd
HIGH 7.5

DescriptionGitHub Advisory

soroban-sdk is a Rust SDK for Soroban contracts. Prior to versions 22.0.10, 23.5.2, and 25.1.1, the #[contractimpl] macro contains a bug in how it wires up function calls. #[contractimpl] generates code that uses MyContract::value() style calls even when it's processing the trait version. This means if an inherent function is also defined with the same name, the inherent function gets called instead of the trait function. This means the Wasm-exported entry point silently calls the wrong function when two conditions are met simultaneously: First, an impl Trait for MyContract block is defined with one or more functions, with #[contractimpl] applied. Second, an impl MyContract block is defined with one or more identically named functions, without #[contractimpl] applied. If the trait version contains important security checks, such as verifying the caller is authorized, that the inherent version does not, those checks are bypassed. Anyone interacting with the contract through its public interface will call the wrong function. The problem is patched in soroban-sdk-macros versions 22.0.10, 23.5.2, and 25.1.1. The fix changes the generated call from <Type>::func() to <Type as Trait>::func() when processing trait implementations, ensuring Rust resolves to the trait associated function regardless of whether an inherent function with the same name exists. Users should upgrade to soroban-sdk-macros 22.0.10, 23.5.2, or 25.1.1 and recompile their contracts. If upgrading is not immediately possible, contract developers can avoid the issue by ensuring that no inherent associated function on the contract type shares a name with any function in the trait implementation. Renaming or removing the conflicting inherent function eliminates the ambiguity and causes the macro-generated code to correctly resolve to the trait function.

Executive ViewAI

Why It Matters

Organizations using soroban-sdk versions prior to 22.0.10, 23.5.2, and 25.1.1 face a critical smart contract vulnerability where function calls are routed to incorrect code paths, potentially allowing unauthorized contract behavior. This affects any Stellar/Soroban blockchain applications developed with vulnerable SDK versions and could result in compromised contract logic, asset theft, or transaction failures.

Business Impact: High
Compensating Controls

Apply vendor patch. If immediate patching is infeasible: disable affected Soroban contracts pending remediation; implement contract call monitoring to detect abnormal function routing; restrict contract interaction to trusted internal parties only; conduct bytecode analysis to confirm presence of dual function definitions before re-enabling.

Threat Intelligence Overview

EPSS Score
0.0%
Top 90% exploitable
Exploit
POC
Public exploit code exists
Data Quality
4 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC Yes
EPSS 0.0%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Out-of-Cycle
Exploitation· derived
Poc
System Exposure· derived
Open
Automatable· derived
Yes
Human Impact
High

Priority Score

58
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +38
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

Affected Products (CPE)GitHub Advisory

cpe:2.3:a:stellar:rs-soroban-sdk:*:*:*:*:*:rust:*:*
cpe:2.3:a:stellar:rs-soroban-sdk:*:*:*:*:*:rust:*:*
cpe:2.3:a:stellar:rs-soroban-sdk:*:*:*:*:*:rust:*:*

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy