Security Lab

Выполнение произвольных команд в Python Pickle Class Constructor

Дата публикации:22.07.2002
Всего просмотров:3160
Опасность:
Наличие исправления:
Количество уязвимостей:1
CVE ID: Нет данных
Вектор эксплуатации:
Воздействие:
CWE ID: Нет данных
Наличие эксплоита: Нет данных
Уязвимые продукты:
Описание: Python – обьектно ориентированный язык программирования.

Модуль Python Pickle используется для преобразования объектных переменных в “serialized form”(“pickling"), и позже возвращая данные назад в объектную структуру ("unpickling"). Если специально обработанные злонамеренные данные "unpickled", то можно заставить выполнять произвольные Python команды, включая системные вызовы. Это может быть реализовано, определяя доступную функцию, как конструктор класса. Степень опасности уязвимости сильно зависит от определенного Python приложения, которое принимает “pickle” строку от не доверенного источника.

Уязвимость обнаружена в Python Software Foundation Python 1.5.2-2.1.3

Ссылки: proof of concept exploit
Exploit for a security hole in the pickle module for Python versions <= 2.1.x