Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-10036-speechbrain-rce — SpeechBrain < 1.1.1 チェックポイントメタデータにおける、CKPT.yaml の安全でない PyYAML 解析による RCE。 | Kitploit
ツール/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。

リポジトリを見る
4017日前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

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

深刻度: 高、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

公開日: 2026年8月27日


概要

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

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

yaml.load(fi, Loader=yaml.Loader)

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

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

影響

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

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

ホストプロセスに応じて、以下が可能になる場合があります:

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

技術的詳細

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

Checkpointer.recover_if_possible()
  -> list_checkpoints()
  -> _construct_checkpoint_objects()

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

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

meta = yaml.load(fi, Loader=yaml.Loader)

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

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

良性のチェックポイントが選択されますが、候補のリストアップ中に悪意のあるチェックポイントのメタデータが依然として実行されます。これは、チェックポイントの復元とは独立した、メタデータのパース時のコード実行を実証しています。

概念実証

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

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

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

python -m venv .venv
.venv\Scripts\activate
python -m pip install -r requirements.txt
python -B run_poc.py

脆弱なバージョンで想定されるエビデンス:

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 がチェックポイント候補を列挙する際に依然として解析され 実行されたことを示しています。

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

speechbrain_checkpoint_yaml_loader_rce_triggered

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

修復

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

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

yaml.safe_load(fi)

または:

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
ツールをダウンロード