Карточка уязвимости
Характеристики уязвимости
Уровень опасности
Оценка CVSS
(AV:N/AC:L/Au:N/C:P/I:P/A:P)
Производитель ПО
Наименование ПО
Описание
Python - это интерактивный язык объектно-ориентированного программирования.
Обнаружено, что многие проложения, включающие интерпретатор Python, не указывают корректный полный путь к сценарию или приложению при вызове функции PySys_SetArgv API. Злоумышленник, действующий локально, может заставить жертву запустить такое приложение в каталоге, контролируемом злоумышленником, что приведет к выполнению произвольного кода с привилегиями жертвы. Данное обновление добавляет PySys_SetArgvEx API. Разработчики могут изменить свои приложения, используя эти новые API, которые устанавливают sys.argv без изменения sys.path. (CVE-2008-5983)
Ошибки обнаружены в модуле Python rgbimg. Если приложение, написанное на Python, использует модуль rgbimg и загружает специально сформированный SGI-файл изображения, то данная уязвимость приводит к аварийному завершению работы приложения или позволяет выполнить произвольный код с привилегиями пользователя, который запустил приложение. (CVE-2009-4134, CVE-2010-1449, CVE-2010-1450)
Ошибки обнаружены в модуле Python audioop. Некоторые входные данные могут вызвать аварийное завершение работы модуля audioop или позволят выполнить произвольный код. (CVE-2010-1634, CVE-2010-2089)
Данное обновление также исправляет следующие ошибки:
* При запуске дочернего процесса из модуля subprocess в Python родительский процесс разглашает дескрипторы файлов, если возникает ошибка. Данное обновление исправляет указанную проблему. (BZ#609017)
* До версии Python 2.7 программы, использующие "ulimit -n", чтобы разрешить взаимодействие с большим количеством подпроцессов, могли контролировать только 124 файловых дескриптора одновременно, что вызывало исключение:
ValueError: filedescriptor out of range in select()
Эта проблема существовала из-за того, что модуль subprocess использовал системный вызов "select". После установки обновления этот модуль использует системный вызов "poll", что снимает указанное ограничение. (BZ#609020)
* До версии Python 2.5 модуль tarfile не мог распаковывать файлы tar, если путь к ним длиннее 100 символов. Данное обновление исправляет эту ошибку. (BZ#263401)
* Модуль email некорректно реализует логику получения имени файла приложения: get_filename() использует нерекомендуемый параметр "name" заголовка "Content-Type", который некорректно использует заголовок "Content-Disposition". Данное обновление исправляет эту ошибку. (BZ#644147)
* До версии 2.5 программа оптимального выделения памяти Python не возвращала память системе. Использование памяти Python-процессами, которые выполняются довольно долго, могло достичь максимально возможного размера. Данное обновление позволяет освобождать неиспользуемые участки и добавляет нестандартную функцию sys._debugmallocstats(), которая выдает stderr диагностические данные. Наконец, при запуске из Valgrind, программа оптимального выделения памяти отключается, что позволяет более удобно искать ошибки в использовании памяти в Python. (BZ#569093)
* Модули urllib и urllib2 игнорируют переменную no_proxy, что позволяет таким программам, как "yum", получить доступ к proxy-серверу для URL, включенных в список "no_proxy". Данное обновление заставляет urllib и urllib2 использовать переменную "no_proxy". (BZ#549372)
Также данное обновление включает следующие расширения:
* Данное обновление включает новый пакет python-libs, который состоит из большей части функций основного пакета python. Это позволяет использовать 64- и 32-битные библиотеки Python в системах PowerPC. (BZ#625372)
* Пакет python-libs.i386 доступен и для 64-битной архитектуры Itanium с режимом совместимости с 32-битной архитектурой Itanium. (BZ#644761)
Пользователям Python рекомендуется обновить программное обеспечение, чтобы избавиться от указанных проблем.
Обнаружено, что многие проложения, включающие интерпретатор Python, не указывают корректный полный путь к сценарию или приложению при вызове функции PySys_SetArgv API. Злоумышленник, действующий локально, может заставить жертву запустить такое приложение в каталоге, контролируемом злоумышленником, что приведет к выполнению произвольного кода с привилегиями жертвы. Данное обновление добавляет PySys_SetArgvEx API. Разработчики могут изменить свои приложения, используя эти новые API, которые устанавливают sys.argv без изменения sys.path. (CVE-2008-5983)
Ошибки обнаружены в модуле Python rgbimg. Если приложение, написанное на Python, использует модуль rgbimg и загружает специально сформированный SGI-файл изображения, то данная уязвимость приводит к аварийному завершению работы приложения или позволяет выполнить произвольный код с привилегиями пользователя, который запустил приложение. (CVE-2009-4134, CVE-2010-1449, CVE-2010-1450)
Ошибки обнаружены в модуле Python audioop. Некоторые входные данные могут вызвать аварийное завершение работы модуля audioop или позволят выполнить произвольный код. (CVE-2010-1634, CVE-2010-2089)
Данное обновление также исправляет следующие ошибки:
* При запуске дочернего процесса из модуля subprocess в Python родительский процесс разглашает дескрипторы файлов, если возникает ошибка. Данное обновление исправляет указанную проблему. (BZ#609017)
* До версии Python 2.7 программы, использующие "ulimit -n", чтобы разрешить взаимодействие с большим количеством подпроцессов, могли контролировать только 124 файловых дескриптора одновременно, что вызывало исключение:
ValueError: filedescriptor out of range in select()
Эта проблема существовала из-за того, что модуль subprocess использовал системный вызов "select". После установки обновления этот модуль использует системный вызов "poll", что снимает указанное ограничение. (BZ#609020)
* До версии Python 2.5 модуль tarfile не мог распаковывать файлы tar, если путь к ним длиннее 100 символов. Данное обновление исправляет эту ошибку. (BZ#263401)
* Модуль email некорректно реализует логику получения имени файла приложения: get_filename() использует нерекомендуемый параметр "name" заголовка "Content-Type", который некорректно использует заголовок "Content-Disposition". Данное обновление исправляет эту ошибку. (BZ#644147)
* До версии 2.5 программа оптимального выделения памяти Python не возвращала память системе. Использование памяти Python-процессами, которые выполняются довольно долго, могло достичь максимально возможного размера. Данное обновление позволяет освобождать неиспользуемые участки и добавляет нестандартную функцию sys._debugmallocstats(), которая выдает stderr диагностические данные. Наконец, при запуске из Valgrind, программа оптимального выделения памяти отключается, что позволяет более удобно искать ошибки в использовании памяти в Python. (BZ#569093)
* Модули urllib и urllib2 игнорируют переменную no_proxy, что позволяет таким программам, как "yum", получить доступ к proxy-серверу для URL, включенных в список "no_proxy". Данное обновление заставляет urllib и urllib2 использовать переменную "no_proxy". (BZ#549372)
Также данное обновление включает следующие расширения:
* Данное обновление включает новый пакет python-libs, который состоит из большей части функций основного пакета python. Это позволяет использовать 64- и 32-битные библиотеки Python в системах PowerPC. (BZ#625372)
* Пакет python-libs.i386 доступен и для 64-битной архитектуры Itanium с режимом совместимости с 32-битной архитектурой Itanium. (BZ#644761)
Пользователям Python рекомендуется обновить программное обеспечение, чтобы избавиться от указанных проблем.
Как исправить
Для устранения уязвимости необходимо установить последнюю версию продукта, соответствующую используемой платформе. Необходимую информацию можно получить по адресу:
https://rhn.redhat.com/errata/RHSA-2011-0027.html
https://rhn.redhat.com/errata/RHSA-2011-0027.html
Ссылки
https://rhn.redhat.com/errata/RHSA-2011-0027.html
CVE (CVE-2008-5983): https://www.redhat.com/security/data/cve/CVE-2008-5983.html
CVE (CVE-2009-4134): https://www.redhat.com/security/data/cve/CVE-2009-4134.html
CVE (CVE-2010-1449): https://www.redhat.com/security/data/cve/CVE-2010-1449.html
CVE (CVE-2010-1450): https://www.redhat.com/security/data/cve/CVE-2010-1450.html
CVE (CVE-2010-1634): https://www.redhat.com/security/data/cve/CVE-2010-1634.html
CVE (CVE-2010-2089): https://www.redhat.com/security/data/cve/CVE-2010-2089.html
BUGZILLA (482814): http://bugzilla.redhat.com/482814
BUGZILLA (541698): http://bugzilla.redhat.com/541698
BUGZILLA (569093): http://bugzilla.redhat.com/569093
BUGZILLA (590690): http://bugzilla.redhat.com/590690
BUGZILLA (598197): http://bugzilla.redhat.com/598197
BUGZILLA (609017): http://bugzilla.redhat.com/609017
BUGZILLA (609020): http://bugzilla.redhat.com/609020
BUGZILLA (625372): http://bugzilla.redhat.com/625372
BUGZILLA (644147): http://bugzilla.redhat.com/644147
BUGZILLA (644761): http://bugzilla.redhat.com/644761
Источник: CVE
Наименование: CVE-2008-5983
URL: http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-5983
Источник: CVE
Наименование: CVE-2009-4134
URL: http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-4134
Источник: CVE
Наименование: CVE-2010-1449
URL: http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-1449
Источник: CVE
Наименование: CVE-2010-1450
URL: http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-1450
Источник: CVE
Наименование: CVE-2010-1634
URL: http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-1634
Источник: CVE
Наименование: CVE-2010-2089
URL: http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-2089
CVE (CVE-2008-5983): https://www.redhat.com/security/data/cve/CVE-2008-5983.html
CVE (CVE-2009-4134): https://www.redhat.com/security/data/cve/CVE-2009-4134.html
CVE (CVE-2010-1449): https://www.redhat.com/security/data/cve/CVE-2010-1449.html
CVE (CVE-2010-1450): https://www.redhat.com/security/data/cve/CVE-2010-1450.html
CVE (CVE-2010-1634): https://www.redhat.com/security/data/cve/CVE-2010-1634.html
CVE (CVE-2010-2089): https://www.redhat.com/security/data/cve/CVE-2010-2089.html
BUGZILLA (482814): http://bugzilla.redhat.com/482814
BUGZILLA (541698): http://bugzilla.redhat.com/541698
BUGZILLA (569093): http://bugzilla.redhat.com/569093
BUGZILLA (590690): http://bugzilla.redhat.com/590690
BUGZILLA (598197): http://bugzilla.redhat.com/598197
BUGZILLA (609017): http://bugzilla.redhat.com/609017
BUGZILLA (609020): http://bugzilla.redhat.com/609020
BUGZILLA (625372): http://bugzilla.redhat.com/625372
BUGZILLA (644147): http://bugzilla.redhat.com/644147
BUGZILLA (644761): http://bugzilla.redhat.com/644761
Источник: CVE
Наименование: CVE-2008-5983
URL: http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-5983
Источник: CVE
Наименование: CVE-2009-4134
URL: http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-4134
Источник: CVE
Наименование: CVE-2010-1449
URL: http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-1449
Источник: CVE
Наименование: CVE-2010-1450
URL: http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-1450
Источник: CVE
Наименование: CVE-2010-1634
URL: http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-1634
Источник: CVE
Наименование: CVE-2010-2089
URL: http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-2089