Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ツール/GitHubGitHub/saiteja-erukude/cve-2026-10036-speechbrain-rce
脆弱性分析コード分析エクスプロイト論文と研究学習と教育
GitHubsaiteja-erukude/cve-2026-10036-speechbrain-rce

CVE-2026-10036-speechbrain-rce

SpeechBrain < 1.1.1 チェックポイントメタデータにおける、CKPT.yaml の安全でない PyYAML 解析による RCE。

リポジトリを見る
6時間59分前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

CVE-2026-10036: SpeechBrain の CKPT.yaml 解析による任意コード実行

深刻度: 高、CVSS 4.0 8.7、CVSS 3.1 8.8(CNA である VulnCheck により割り当て)

ベクター (v4.0): CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

ベクター (v3.1): CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H

影響を受けるバージョン: SpeechBrain < 1.1.1

修正バージョン: 1.1.1 / コミット 22a6166

CWE: CWE-502(信頼できないデータのデシリアライゼーション)

報告者: Sai Teja Erukude

CNA: VulnCheck

公開日: 2026年8月27日


概要

SpeechBrain の 1.1.1 より前のバージョンでは、チェックポイント復元時に CKPT.yaml チェックポイントメタデータを解析する際に PyYAML の安全でないローダーを使用しています。

攻撃者が SpeechBrain のチェックポイントディレクトリを提供または変更できる場合、CKPT* チェックポイントディレクトリ内に悪意のある CKPT.yaml ファイルを配置できます。被害者が Checkpointer.recover_if_possible() を呼び出すと、SpeechBrain はチェックポイント候補を列挙し、 すべての候補メタデータファイルを次のコードで解析します:

root@kitploit:~
yaml.load(fi, Loader=yaml.Loader)

yaml.Loader は !!python/object/apply などの Python オブジェクト構築タグをサポートしているため、 攻撃者が制御するチェックポイントメタデータは、チェックポイント検出中に Python コードを実行できます。

悪意のあるチェックポイントが選択または復元される必要はありません。コード実行は SpeechBrain がチェックポイント候補を列挙している間に発生します。

影響

攻撃者は、SpeechBrain を実行している Python プロセスのコンテキストで任意の Python コードを実行できます。

これは、ユーザーが信頼できないチェックポイントディレクトリ、モデルアーティファクト、または アーカイブからトレーニング/推論をダウンロード、解凍、再開、または実行するワークフローに影響を与える可能性があります。

ホスティングプロセスによっては、以下が可能になる場合があります:

  • プロセスがアクセスできるファイルの読み取りまたは変更。
  • 環境変数およびアプリケーションシークレットへのアクセス。
  • ホストから到達可能な内部サービスへの呼び出し。
  • トレーニング、推論、または自動化ジョブの妨害。

技術的詳細

影響を受けるコンポーネントは、SpeechBrain のチェックポイント復元/一覧表示フローです:

root@kitploit:~
Checkpointer.recover_if_possible()
  -> list_checkpoints()
  -> _construct_checkpoint_objects()

チェックポイントの一覧表示中に、SpeechBrain は CKPT.yaml を含む CKPT* という名前の 子ディレクトリをスキャンします。各候補メタデータファイルは、最終的なチェックポイント選択の前に解析されます。

安全でない解析は speechbrain.utils.checkpoints.checkpoints.py で発生します:

root@kitploit:~
meta = yaml.load(fi, Loader=yaml.Loader)

PoC は 2 つのチェックポイントを作成します:

  • CKPT+poisoned-metadata: CKPT.yaml に PyYAML のオブジェクト適用ペイロードを含む、古い悪意のあるチェックポイント。
  • CKPT+benign-newer: 新しさによって選択されるべき、新しい良性のチェックポイント。

良性のチェックポイントが選択されますが、悪意のあるチェックポイントのメタデータは 候補の一覧表示中に依然として実行されます。これは、チェックポイントの復元とは無関係に、 メタデータ解析時にコード実行が発生することを示しています。

概念実証

package_builder.py は、攻撃者が制御するチェックポイントレイアウトを作成します。

run_poc.py は検証を実行し、Checkpointer.recover_if_possible() を呼び出し、 実行の証拠を出力します。

ローカルのテスト環境でのみ実行してください:

root@kitploit:~
python -m venv .venv
.venv\Scripts\activate
python -m pip install -r requirements.txt
python -B run_poc.py

脆弱なバージョンでの期待される証拠:

root@kitploit:~
speechbrain_version: 1.1.0
installed_package: True
recovery_error: None
benign_checkpoint_selected: True
marker_before_recovery: False
marker_after_recovery: True
marker_contents:
speechbrain_checkpoint_yaml_loader_rce_triggered
success: True

重要な証拠は、benign_checkpoint_selected: True と marker_after_recovery: True が同時に現れることです。これは、悪意のある古いチェックポイントが 復元用に選択されなかったものの、SpeechBrain がチェックポイント候補を列挙している間に そのメタデータが依然として解析され実行されたことを示しています。

ペイロードは意図的に無害です。ローカルのマーカー文字列のみを書き込みます:

root@kitploit:~
speechbrain_checkpoint_yaml_loader_rce_triggered

シェルを起動したり、ネットワークサービスに接続したり、シークレットを読み取ったり、 データを削除したり、PoC ディレクトリ外のファイルを変更したりすることはありません。

修復

SpeechBrain 1.1.1 以降にアップグレードしてください。

永続的なコード修正は、チェックポイントメタデータに PyYAML の安全なローダーを使用することです:

root@kitploit:~
yaml.safe_load(fi)

または:

root@kitploit:~
yaml.load(fi, Loader=yaml.SafeLoader)

チェックポイントメタデータには unixtime や end-of-epoch などのスカラー値のみが必要なため、 この解析パスでは Python オブジェクト構築を有効にすべきではありません。

即時のパッチまたはアップグレードが利用できない場合:

  • 信頼できないソースからのチェックポイントディレクトリ、モデルアーティファクト、またはアーカイブを使用しないでください。
  • SpeechBrain のトレーニングおよび推論ジョブを最小限の権限で分離してください。
  • CKPT.yaml 内の予期しないタグやフィールドを検証または拒否してください。
  • 外部から提供されたチェックポイントディレクトリからの自動再開を避けてください。

クレジット

Sai Teja Erukude によって発見および報告され、VulnCheck を通じて調整されました。

参照

  • CVE レコード: https://www.cve.org/CVERecord?id=CVE-2026-10036
  • VulnCheck アドバイザリ: https://www.vulncheck.com/advisories/speechbrain-arbitrary-code-execution-via-ckpt-yaml-parsing
  • リリースノート: https://github.com/speechbrain/speechbrain/releases/tag/v1.1.1
  • プルリクエスト: https://github.com/speechbrain/speechbrain/pull/3067
  • パッチコミット: https://github.com/speechbrain/speechbrain/commit/22a616646a493871401461f80b2d5cf564cb2850
  • PyYAML ドキュメント: https://pyyaml.org/wiki/PyYAMLDocumentation
  • ローカルウォークスルー: exploit_walkthrough.md
ツールをダウンロード