CVE-2025-23298: Получение удал... Заметка
RSS Zero Day Initiative - Блог

CVE-2025-23298: Получение удаленного выполнения кода в NVIDIA Merlin

Trend Micro Zero Day Initiative обнаружила критическую уязвимость в библиотеке NVIDIA Transformers4Rec, позволяющую удаленно выполнять код с правами root. Эта уязвимость, CVE-2025-23298, возникает из-за небезопасной десериализации при загрузке контрольных точек модели с использованием модуля pickle в Python. Transformers4Rec, часть экосистемы Merlin, широко используется для задач рекомендаций и интегрируется с Hugging Face Transformers. Недостаток заключается в функции load_model_trainer_states_from_checkpoint, которая напрямую использует torch.load() без параметров безопасности, подвергая ее вредоносным файлам pickle. Метод __reduce__ в pickle позволяет произвольно выполнять код во время десериализации. Поверхность атаки значительна из-за распространенного обмена моделями и доверия к файлам контрольных точек, особенно поскольку эти процессы часто выполняются с повышенными привилегиями. Вредоносная контрольная точка может выполнить системные команды до загрузки весов модели. Реальное воздействие включает удаленное выполнение кода, повышение привилегий, утечку данных и атаки на цепочку поставок. NVIDIA устранила уязвимость, внедрив пользовательский механизм загрузки, который ограничивает десериализацию одобренными классами. Этот инцидент подчеркивает повсеместные проблемы безопасности в экосистеме ML/AI из-за зависимости от pickle. Разработчикам рекомендуется избегать pickle для недоверенных данных, использовать weights_only=True, ограничивать доверенные классы и рассматривать безопасные форматы сериализации, такие как Safetensors. Организации должны проверять происхождение моделей, внедрять подписи и изолировать загрузку моделей. Сообщество ML должно отказаться от pickle и уделять первостепенное внимание безопасности при проектировании фреймворков.
CdXz5zHNQW_ETMuumC4hx.jpeg