【活用ガイド】

JVNDB-2026-004418

Stellarのrs-soroban-sdkにおける常に不適切な制御フローの実装に関する脆弱性

概要

soroban-sdkはSorobanコントラクト用のRust SDKです。バージョン22.0.10、23.5.2、および25.1.1より前のバージョンでは、`#[contractimpl]`マクロに関数呼び出しの接続方法にバグがありました。`#[contractimpl]`はトレイトバージョンを処理している場合でも`MyContract::value()`スタイルの呼び出しを生成します。これは、同名の固有関数が定義されている場合、トレイト関数ではなく固有関数が呼び出されることを意味します。このため、2つの条件が同時に満たされた場合、Wasmエクスポートされたエントリポイントが誤った関数を静かに呼び出してしまいます。条件とは、第一に`impl Trait for MyContract`ブロックが1つ以上の関数を持ち`#[contractimpl]`が適用されていること、第二に`impl MyContract`ブロックが1つ以上の同名関数を持ち`#[contractimpl]`が適用されていないことです。トレイトバージョンに権限確認などの重要なセキュリティチェックが含まれていて固有バージョンに含まれていない場合、そのチェックがバイパスされてしまいます。契約のパブリックインターフェースを通じてやりとりする者は誤った関数を呼び出すことになります。この問題は`soroban-sdk-macros`のバージョン22.0.10、23.5.2、25.1.1で修正されました。修正内容は、トレイト実装を処理する際に生成される呼び出しを`Type::func()`から`Type as Trait::func()`に変更し、固有関数が同名で存在してもRustがトレイト関連関数を正しく解決するようにしたものです。ユーザーは`soroban-sdk-macros`の22.0.10、23.5.2、または25.1.1にアップグレードして契約を再コンパイルする必要があります。すぐにアップグレードできない場合は、契約開発者がトレイト実装の関数名と同名の固有関連関数を契約型に持たないようにして問題を回避できます。競合する固有関数をリネームまたは削除することで曖昧さが解消され、マクロ生成コードが正しくトレイト関数を解決するようになります。
CVSS による深刻度 (CVSS とは?)

CVSS v3 による深刻度
基本値: 7.5 (重要) [その他]
  • 攻撃元区分: ネットワーク
  • 攻撃条件の複雑さ: 低
  • 攻撃に必要な特権レベル: 不要
  • 利用者の関与: 不要
  • 影響の想定範囲: 変更なし
  • 機密性への影響(C): なし
  • 完全性への影響(I): 高
  • 可用性への影響(A): なし
影響を受けるシステム


Stellar
  • rs-soroban-sdk 22.0.10 未満
  • rs-soroban-sdk 23.0.0 以上 23.5.2 未満
  • rs-soroban-sdk 25.0.0 以上 25.1.1 未満

本脆弱性の影響を受ける製品の詳細については、ベンダ情報および参考情報をご確認ください。
想定される影響

当該ソフトウェアが扱う情報について、外部への漏えいは発生しません。
また、当該ソフトウェアが扱う全ての情報が書き換えられる可能性があります。
さらに、当該ソフトウェアは停止しません。
そして、この脆弱性を悪用した攻撃の影響は、他のソフトウェアには及びません。
対策

正式な対策が公開されています。ベンダ情報を参照して適切な対策を実施してください。
ベンダ情報

GitHub
CWEによる脆弱性タイプ一覧  CWEとは?

  1. 常に不適切な制御フローの実装(CWE-670) [その他]
共通脆弱性識別子(CVE)  CVEとは?

  1. CVE-2026-26267
参考情報

  1. National Vulnerability Database (NVD) : CVE-2026-26267
  2. 関連文書 : Fix trait method call resolution in contractimpl by leighmcculloch  Pull Request #1729  stellar/rs-soroban-sdk  GitHub
  3. 関連文書 : Bump version to 23.5.2 by github-actions[bot]  Pull Request #1730  stellar/rs-soroban-sdk  GitHub
  4. 関連文書 : Bump version to 22.0.10 by github-actions[bot]  Pull Request #1731  stellar/rs-soroban-sdk  GitHub
  5. 関連文書 : Fix trait method call resolution in contractimpl (#1729)  stellar/rs-soroban-sdk@e92a393  GitHub
更新履歴

  • [2026年02月24日]
      掲載