
Пользователи Linux во вторник получили большую порцию плохих новостей: 12-летняя уязвимость в системном инструменте под названием Polkit дает злоумышленникам неограниченные привилегии суперпользователя на машинах, работающих под управлением любого основного дистрибутива операционной системы с открытым исходным кодом.
Ранее называвшийся PolicyKit, Polkit управляет общесистемными привилегиями в Unix-подобных операционных системах. Он предоставляет механизм безопасного взаимодействия непривилегированных процессов с привилегированными процессами. Он также позволяет пользователям выполнять команды с высокими привилегиями, используя компонент под названием pkexec, за которым следует команда.
Простой в использовании и на 100% надежный
Как и большинство операционных систем, Linux предоставляет иерархию уровней разрешений, которая определяет, когда и какие приложения или пользователи могут взаимодействовать с конфиденциальными системными ресурсами. Дизайн предназначен для ограничения ущерба, который может произойти, если приложение взломано или злонамеренно, или если пользователю не доверяют административный контроль над сетью.
С 2009 года pkexec содержит уязвимость, приводящую к повреждению памяти, которую люди с ограниченным контролем над уязвимой машиной могут использовать для повышения привилегий вплоть до root. Эксплуатация уязвимости тривиальна и, по некоторым данным, надежна на 100%. Злоумышленники, которые уже завладели уязвимой машиной, могут воспользоваться этой уязвимостью, чтобы обеспечить выполнение вредоносной полезной нагрузки или команды с наивысшими доступными системными правами. PwnKit, как называют эту уязвимость исследователи, также можно использовать, даже если сам демон Polkit не запущен.
PwnKit был обнаружен исследователями из компании Qualys, занимающейся безопасностью, в ноябре и раскрыт во вторник после того, как в большинстве дистрибутивов Linux были установлены исправления.
В электронном письме директор Qualys по исследованию угроз уязвимостей Бхарат Джоги написал:
Наиболее вероятным сценарием атаки является внутренняя угроза, когда злоумышленник может перейти от отсутствия каких-либо привилегий к полным привилегиям root. С точки зрения внешней угрозы, если злоумышленнику удалось закрепиться в системе с помощью другой уязвимости или нарушения пароля, этот злоумышленник может затем получить полные привилегии root с помощью этой уязвимости.
Джоги сказал, что эксплойты требуют локального аутентифицированного доступа к уязвимой машине и не могут быть использованы удаленно без такой аутентификации. Вот видео эксплойта в действии.
Уязвимость PwnKit.
На данный момент Qualys не выпускает экспериментальный код эксплойта из-за опасений, что код окажется более полезным для черных шляп, чем для защитников. Исследователи говорят, что это только вопрос времени, когда PwnKit начнет эксплуатироваться в дикой природе.
«Мы ожидаем, что эксплойт скоро станет общедоступным и что злоумышленники начнут его использовать — это особенно опасно для любой многопользовательской системы, которая разрешает пользователям доступ к оболочке», — написал Боян Здрня, тестер проникновения и обработчик в SANS. Исследователь сказал, что он успешно воссоздал эксплойт, который работал на машине под управлением Ubuntu 20.04.

БЕЗ
Основные дистрибьюторы Linux выпустили исправления для этой уязвимости, и специалисты по безопасности настоятельно призывают администраторов уделять первоочередное внимание установке исправления. Те, кто не может исправить сразу, должны использовать chmod 0755 /usr/bin/pkexec
Команда для удаления SUID-бита из pkexec, что предотвращает его запуск в виде двоичного файла.
Те, кто хочет знать, использовалась ли уязвимость в их системах, могут проверить наличие записей в журнале, в которых говорится: «Значение переменной SHELL не найдено в файле /etc/shells» или «Значение переменной среды […] содержит подозрительный контент». Qualys, однако, предупредил людей, что PwnKit также можно использовать, не оставляя следов.