В библиотеке NumPy обнаружена критическая уязвимость
Проблема затрагивает версии NumPy с 1.10 по 1.16.
В популярной библиотеке NumPy обнаружена уязвимость, связанная с небезопасным использованием одного из модулей, которая может предоставить возможность удаленного выполнения кода. На проблему обратил внимание специалист по безопасности Шервел Нан (Sherwel Nan). Уязвимость содержится в модуле pickle, применяемом для сохранения и загрузки сложных объектов в Python. По словам исследователя, если приложение на Python загрузит вредоносные данные с помощью функции ‘numpy.load’, атакующий может получить возможность удаленно выполнить код на системе.
Проблема затрагивает версии NumPy с 1.10 по 1.16 (текущая), в настоящее время создатели проекта работают над исправлением проблемы. Инженеры SUSE подтвердили, что уязвимости подвержены дистрибутивы SUSE Linux Enterprise 15 и SUSE Linux Enterprise 12 Service Pack 2.
Нан порекомендовал пользователям устанавливать значение ‘False’ для параметра ‘allow_pickle’ в функции ‘numpy.load’, если они не уверены в безопасности загружаемых данных. Аналогичную меру намерены реализовать разработчики в версии NumPy 1.17, а также добавить предупреждение при импорте массивов данных с тем, чтобы пользователи могли разрешать загрузку только в случае, если уверены в их безопасности.
Уязвимости присвоен идентификатор CVE-2019-6446, степень ее опасности оценена в 9,8 балла из возможных 10 по классификации CVSS v3.
NumPy — расширение языка Python, добавляющее поддержку больших многомерных массивов и матриц, вместе с большой библиотекой высокоуровневых математических функций для операций с этими массивами.