JVNDB-2026-005795 | |
Stellarのrs-soroban-sdkにおける整数オーバーフローの脆弱性 | |
| 概要 | |
soroban-sdkはSorobanコントラクト用のRust SDKです。算術オーバーフローは、`soroban-sdk`のバージョン`25.0.1`、`23.5.1`、および`25.0.2`までの`Bytes::slice`、`Vec::slice`、および`Prng::gen_range`(`u64`用)メソッドで発生する可能性があります。ユーザー制御または計算された範囲境界を`Bytes::slice`、`Vec::slice`、または`Prng::gen_range`に渡すコントラクトは、誤ったデータ範囲を静かに操作したり、意図しない範囲から乱数を生成したりしてしまい、その結果コントラクトの状態が破損する恐れがあります。`soroban-sdk`を使用してSorobanコントラクトを構築する際のベストプラクティスは、常に`overflow-checks = true`を有効にすることです。Sorobanコントラクトのボイラープレートを準備する`stellar contract init`ツールおよびすべての例やドキュメントは、これらの算術演算が静かに巻き戻るのではなく失敗するように、`release`プロファイルで`overflow-checks = true`を設定することを推奨しています。`overflow-checks = false`が明示的または暗黙的に設定されている場合にのみコントラクトが影響を受けます。ツールによって推奨されるベストプラクティスが`overflow-checks`の有効化であるため、多くのコントラクトは影響を受けないと予想されます。`25.0.1`、`23.5.1`、および`25.0.2`で提供される修正は、生の算術演算を`checked_add` / `checked_sub`に置き換え、`overflow-checks`プロファイル設定に関係なくオーバーフロー時に例外を発生させます。回避策として、GitHubのセキュリティ勧告に記載されているプロファイルでコントラクトワークスペースを設定し、算術演算に対してオーバーフローチェックを有効にする方法があります。これはSorobanコントラクト開発時のベストプラクティスであり、`stellar contract init`で生成されるボイラープレートのデフォルト設定です。あるいは、`slice`や`gen_range`に渡す前に範囲境界の検証を行い、変換でオーバーフローが発生しないことを保証する方法もあります。 | |
| CVSS による深刻度 (CVSS とは?) | |
|
CVSS v3 による深刻度
基本値: 5.3 (警告) [その他]
| |
| 影響を受けるシステム | |
|
| |
Stellar | |
本脆弱性の影響を受ける製品の詳細については、ベンダ情報および参考情報をご確認ください。 | |
| 想定される影響 | |
当該ソフトウェアが扱う情報について、外部への漏えいは発生しません。 | |
| 対策 | |
正式な対策が公開されています。ベンダ情報を参照して適切な対策を実施してください。 | |
| ベンダ情報 | |
GitHub | |
| CWEによる脆弱性タイプ一覧 CWEとは? | |
|
| |
| 共通脆弱性識別子(CVE) CVEとは? | |
|
| |
| 参考情報 | |
| |
| 更新履歴 | |
|
| 公表日 | 2026/01/28 |
| 登録日 | 2026/03/04 |
| 最終更新日 | 2026/03/04 |



