
Это исследование анализирует уязвимости десериализации Python pickle, с акцентом на CVE-2024-3568 в TFAutoModel библиотеки Hugging Face Transformers. Мы воспроизводим эксплойт для изучения его первопричины, векторов атак и рисков.
Объяснение механизма десериализации pickle и принципа атаки reduce, воспроизведение уязвимости десериализации в библиотеке Hugging Face Transformers CVE-2024-3568, анализ угроз безопасности в библиотеке Transformers и предложение эффективных мер по усилению защиты. Подробное содержание см. в экспериментальном PDF-документе.
(Код автора POC см. в CVE-2024-3568 или в папке author_inf)
Местоположение уязвимости
Метод TFAutoModel.load_repo_checkpoint() (Transformers ≤ v4.37.2)
Принцип атаки
Файл extra_data.pickle в вредоносной контрольной точке при десериализации через pickle.load() вызывает RCE
Область воздействия
# Подробные инструкции по настройке см. в экспериментальном PDF
pip install transformers==4.37.2 tensorflow
git clone https://github.com/llm-sec/transformer-hacker
Подробнее см. в PDF-документе.
Файлы test.py, test2.py содержат анализ принципа (выполнено с помощью AI Wenxiaobai – спасибо технологическим прорывам за повышение производительности).
Создание вредоносной контрольной точки (Конкретные команды см. в PDF-документе)
Срабатывание уязвимости (Пример кода см. в PDF-документе)
Подтверждение атаки (Метод проверки см. в PDF-документе)
load_repo_checkpoint()Подробный технический анализ: Полную информацию о принципе уязвимости, процессе эксплуатации и стратегиях защиты см. в экспериментальном PDF-документе Реализация POC: код автора POC см. в CVE-2024-3568 или в папке author_inf