Гид по технологиям

Защита Linux-сервера от уязвимости PwnKit (CVE-2021-4034)

4 min read Безопасность Обновлено 03 Apr 2026
PwnKit (CVE-2021-4034): защита Linux-сервера
PwnKit (CVE-2021-4034): защита Linux-сервера

Скриншот команды sudo в терминале Ubuntu

Уязвимость PwnKit (CVE-2021-4034) представляет серьёзную угрозу для серверов Linux: злоумышленник с локальным доступом может получить привилегии root через уязвимый исполняемый файл pkexec. Ниже — подробное руководство по пониманию уязвимости, немедленным мерам защиты, проверкам и операционному плану.

Что такое PwnKit (CVE-2021-4034)

PwnKit — уязвимость в компоненте polkit (утилита pkexec), позволяющая локальной эскалации привилегий. В норме pkexec запускает программы с привилегиями root при корректной авторизации. Если pkexec имеет SUID-бит и содержит уязвимую реализацию, злоумышленник может воспользоваться этим для выполнения произвольного кода с правами root.

Определение: SUID — специальный бит доступа, который позволяет исполняемому файлу выполняться с правами владельца файла (обычно root), даже если его запустил обычный пользователь.

Влияние

  • Локальная эскалация привилегий до root.
  • Возможные утечки данных, изменение конфигураций, развёртывание бекдоров и прерывания сервисов.
  • Уязвимость критична на системах с множественными пользователями или где есть риск локального доступа (компрометированные аккаунты, небезопасные приложения).

Важно: CVE-2021-4034 эксплуатируется локально — атакующий должен иметь возможность запустить команды на машине. Но в сочетании с другими векторами (например, уязвимым веб-приложением) риск становится серьёзным.

Немедленные действия (пошагово)

  1. Убедитесь, что у вас есть резервные копии и доступ в консоль/сеть управления.
  2. Проверка текущего состояния pkexec:
ls -l /usr/bin/pkexec

SUID-бит отображается как буква “s” в правах (например, -rwsr-xr-x).

  1. Обновите систему (при возможности применить патч):

Debian/Ubuntu:

sudo apt-get update
sudo apt-get upgrade

Arch Linux:

sudo pacman -Syu

Fedora / RHEL:

sudo dnf upgrade
  1. Временная (компенсирующая) мера, если вы не можете сразу обновиться — убрать SUID-бит у pkexec:
sudo chmod 0755 /usr/bin/pkexec

Эта команда устанавливает права без SUID и мешает pkexec запускать процессы как root. После установки официальных обновлений SUID можно восстановить, если это необходимо.

  1. Альтернатива — переименовать или удалить pkexec из пути (только если вы понимаете последствия для зависимых сервисов). Например:
sudo mv /usr/bin/pkexec /usr/bin/pkexec.disabled
  1. После применения временной меры — немедленно планируйте и установите официальные патчи.

Когда временное решение может не помочь

  • Если у атакующего уже есть root-доступ — изменение SUID бессмысленно.
  • Если на системе установлены другие уязвимые пакеты, которые позволяют локальный запуск кода с повышенными привилегиями.
  • Если pkexec был заменён или уязвимость эксплуатируется через альтернативные бинарники с SUID.

Альтернативные подходы

  • Удаление пакета polkit (только на серверах, где его функции не используются). Это безопасно для минимальных, headless-серверов, но может сломать зависимости рабочего окружения.
  • Жёсткие правила SELinux/AppArmor, запрещающие запуск pkexec или ограничивающие дочерние процессы.
  • Установка HIDS (Host Intrusion Detection System) и мониторинг целостности файлов (/usr/bin/pkexec) для обнаружения неожиданных изменений.

Контроль и проверка (мини-руководство тестирования)

  • Проверить наличие SUID:
find / -perm /4000 -type f -name "pkexec" 2>/dev/null
  • Проверить версии polkit:

Debian/Ubuntu:

dpkg -l | grep polkit

RHEL/Fedora:

rpm -q polkit
  • Выполнить интеграционные тесты сервисов, зависящих от polkit, чтобы убедиться, что временные меры не нарушили критичные операции.

Плейбук — быстрый операционный план

  1. Оповестите команду и подготовьте окно обслуживания.
  2. Сделайте полную резервную копию конфигураций и важных данных.
  3. Выполните проверку SUID и версий polkit.
  4. Примените временную меру (chmod или mv) на всех уязвимых хостах.
  5. Установите официальные обновления дистрибутива.
  6. Тесты работоспособности сервисов.
  7. Восстановите SUID (если требуется) и выполните контроль целостности.
  8. Проведите постинцидентный обзор и обновите инструкции развертывания.

Критерии приёмки

  • На всех серверах, где нужен pkexec, установлены обновления polkit.
  • На серверах без обновлений SUID у /usr/bin/pkexec снят или файл удалён/переименован.
  • Сценарии бизнес-функций проверены и работают.
  • Мониторинг фиксирует состояние /usr/bin/pkexec и уведомляет о изменениях.

Тесты / критерии успешности

  • Команда ls -l /usr/bin/pkexec не показывает “s” в правах для временного закрытия.
  • После установки обновлений — подтверждение того, что уязвимая версия polkit больше не присутствует по списку пакетов.
  • Службы, зависящие от polkit, успешно проходят smoke-тесты.

Риски и смягчения

  • Риск: удаление SUID нарушит приложения. Смягчение: применяйте меры сначала на тестовых хостах, проводите тесты обслуживания.
  • Риск: простой переименование /usr/bin/pkexec оставит сервисы без авторизации. Смягчение: подготовьте запасной план восстановления и уведомите заинтересованные команды.

Специалист по кибербезопасности, работающий с Linux

Мониторинг и превентивные практики

  • Поддерживайте регулярные обновления ОС и пакетов.
  • Активируйте автоматические обновления безопасности там, где это допустимо.
  • Ограничьте локальный доступ (SSH с ключами, MFA, управление правами пользователей).
  • Внедрите контроль целостности файлов и систему оповещений о неожиданных изменениях SUID-битов.

Краткая сводка

  • PwnKit (CVE-2021-4034) — серьёзная локальная уязвимость в pkexec.
  • Самое надёжное решение — установить официальные патчи дистрибутива.
  • Временно можно удалить SUID у /usr/bin/pkexec или переименовать бинарник, но после патча нужно восстановить нормальную конфигурацию и протестировать сервисы.

Заметка: любые временные изменения в правах или бинарниках требуют тестирования и плана отката.

Дополнительные материалы и команды стоит включить в ваш внутренний SOP для инцидентов привилегий.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро