Логотип exploitDog
Консоль
Логотип exploitDog

exploitDog

nvd логотип

CVE-2022-42919

Опубликовано: 07 нояб. 2022
Источник: nvd
CVSS3: 7.8
EPSS Низкий

Уязвимость в Python на Linux, позволяющая локальное повышение привилегий при использовании библиотеки "multiprocessing"

Описание

На Linux в Python версии 3.9.x до 3.9.16 и 3.10.x до 3.10.9 присутствует уязвимость, которая позволяет повышать уровень доступа в локальной системе при использовании некорректной конфигурации. В библиотеке multiprocessing Python, при использовании метода запуска forkserver на Linux, есть возможность десериализации объектов pickle от любого пользователя в одном и том же локальном сетевом пространстве имен. Это означает, что злоумышленник может выполнить произвольный код, получая таким образом повышенный уровень доступа для любого процесса, запущенного с помощью forkserver.

Затронутые версии ПО

  • Python 3.9.x до версии 3.9.16
  • Python 3.10.x до версии 3.10.9

Тип уязвимости

Локальное повышение уровня доступа

Способы защиты

Установка параметра multiprocessing.util.abstract_sockets_supported в значение False является обходным решением.

Дополнительная информация

Метод запуска forkserver для multiprocessing не является методом по умолчанию. Эта проблема специфична для Linux, так как только Linux поддерживает сокеты в абстрактном пространстве имен. CPython до версии 3.9 не использует сокеты в абстрактном пространстве имен Linux по умолчанию.

Ссылки

Уязвимые конфигурации

Конфигурация 1

Одно из

cpe:2.3:a:python:python:*:*:*:*:*:*:*:*
Версия от 3.7.3 (включая) до 3.7.15 (включая)
cpe:2.3:a:python:python:*:*:*:*:*:*:*:*
Версия от 3.8.3 (включая) до 3.8.15 (включая)
cpe:2.3:a:python:python:*:*:*:*:*:*:*:*
Версия от 3.9.0 (включая) до 3.9.16 (исключая)
cpe:2.3:a:python:python:*:*:*:*:*:*:*:*
Версия от 3.10.0 (включая) до 3.10.9 (исключая)
Конфигурация 2

Одно из

cpe:2.3:o:fedoraproject:fedora:35:*:*:*:*:*:*:*
cpe:2.3:o:fedoraproject:fedora:36:*:*:*:*:*:*:*
cpe:2.3:o:fedoraproject:fedora:37:*:*:*:*:*:*:*

EPSS

Процентиль: 4%
0.00022
Низкий

7.8 High

CVSS3

Дефекты

NVD-CWE-noinfo
CWE-502

Связанные уязвимости

CVSS3: 7.8
ubuntu
больше 2 лет назад

Python 3.9.x before 3.9.16 and 3.10.x before 3.10.9 on Linux allows local privilege escalation in a non-default configuration. The Python multiprocessing library, when used with the forkserver start method on Linux, allows pickles to be deserialized from any user in the same machine local network namespace, which in many system configurations means any user on the same machine. Pickles can execute arbitrary code. Thus, this allows for local user privilege escalation to the user that any forkserver process is running as. Setting multiprocessing.util.abstract_sockets_supported to False is a workaround. The forkserver start method for multiprocessing is not the default start method. This issue is Linux specific because only Linux supports abstract namespace sockets. CPython before 3.9 does not make use of Linux abstract namespace sockets by default. Support for users manually specifying an abstract namespace socket was added as a bugfix in 3.7.8 and 3.8.3, but users would need to make ...

CVSS3: 7.8
redhat
больше 2 лет назад

Python 3.9.x before 3.9.16 and 3.10.x before 3.10.9 on Linux allows local privilege escalation in a non-default configuration. The Python multiprocessing library, when used with the forkserver start method on Linux, allows pickles to be deserialized from any user in the same machine local network namespace, which in many system configurations means any user on the same machine. Pickles can execute arbitrary code. Thus, this allows for local user privilege escalation to the user that any forkserver process is running as. Setting multiprocessing.util.abstract_sockets_supported to False is a workaround. The forkserver start method for multiprocessing is not the default start method. This issue is Linux specific because only Linux supports abstract namespace sockets. CPython before 3.9 does not make use of Linux abstract namespace sockets by default. Support for users manually specifying an abstract namespace socket was added as a bugfix in 3.7.8 and 3.8.3, but users would need to make ...

CVSS3: 7.8
msrc
больше 2 лет назад

Описание отсутствует

CVSS3: 7.8
debian
больше 2 лет назад

Python 3.9.x before 3.9.16 and 3.10.x before 3.10.9 on Linux allows lo ...

rocky
больше 2 лет назад

Important: python3.9 security update

EPSS

Процентиль: 4%
0.00022
Низкий

7.8 High

CVSS3

Дефекты

NVD-CWE-noinfo
CWE-502