CVE-2021-4034

Red Hat Polkit

ВЫСОКАЯ ВЕРОЯТНОСТЬ

Дата обнаружения

2022-06-27

Официальное описание

The Red Hat polkit pkexec utility contains an out-of-bounds read and write vulnerability that allows for privilege escalation with administrative rights.

🛡️
Технический анализ и план устранения

Суть уязвимости

CVE-2021-4034 (известная как PwnKit) — это критическая уязвимость в утилите pkexec пакета Polkit, которая присутствует в конфигурации по умолчанию большинства дистрибутивов Linux. Проблема заключается в некорректной обработке аргументов командной строки при запуске pkexec.

Из-за ошибки выхода за границы памяти (out-of-bounds write) злоумышленник может манипулировать переменными окружения. Это позволяет загрузить произвольную библиотеку и выполнить код с правами суперпользователя (root), даже если вызывающий пользователь не имеет никаких привилегий. Уязвимость эксплуатируется локально.

Как исправить

Основным способом устранения является обновление пакета polkit до актуальной версии, в которой исправлена логика обработки аргументов.

Для систем на базе RHEL/CentOS/AlmaLinux/Rocky Linux:

yum update polkit

Для систем на базе Debian/Ubuntu:

apt update && apt install --only-upgrade polkitd

После обновления проверьте версию пакета, чтобы убедиться, что установлены исправления от поставщика дистрибутива.

Временные меры

Если немедленное обновление пакета невозможно, необходимо лишить утилиту pkexec бита SUID (setuid). Это предотвратит запуск программы с правами владельца (root) и заблокирует вектор атаки.

Снятие SUID-бита:

chmod 0755 /usr/bin/pkexec

Проверка изменений (в выводе не должно быть буквы 's' в правах доступа):

ls -l /usr/bin/pkexec

Примечание: Данная мера может нарушить работу графических оболочек или специфического ПО, которое полагается на pkexec для выполнения легитимных административных действий. Рекомендуется вернуть права доступа (chmod 4755 /usr/bin/pkexec) сразу после установки официального патча.