В популярной библиотеке машинного обучения TensorFlow найдена уязвимость
Уязвимость, позволяющая выполнить произвольный код атакующего, выявлена в популярной библиотеке машинного обучения TensorFlow специалистами американской компании-разработчика систем для автоматизации развертывания приложений JFrog. Об этом 16 ноября сообщается в блоге компании.
Уязвимость обнаружена исследовательской командой JFrog Vdoo. Она позволяет выполнить произвольный программный код на языке программирования Python при загрузке готовых моделей машинного обучения с помощью утилиты saved_model_cli из пакета TensorFlow.
Если модель загружается утилитой с параметром «--input_examples», то значения строк файла с моделью в формате «ключ=значение» передаются в функцию eval. Функция eval исполняет участок кода в качестве выражения языка программирования и возвращает результат выполнения.
Это позволяет упаковать в готовую модель данные так, чтобы был исполнен код злоумышленника. Код можно замаскировать, возвращая в результате выполнения выражения необходимое значение.
Уязвимость была обнаружена еще в сентября 2021 года. О ней сообщили разработчикам библиотеки. Проблема исправлена в TensorFlow версий 2.4.4, 2.5.2, 2.6.1 и 2.7.0.