
Эксплойт локального повышения привилегий для CVE-2021-4034 в pkexec, предоставляющий proof-of-concept, который открывает root-оболочку на уязвимых системах.
Этот репозиторий содержит эксплойт для CVE-2021-4034 — локального
повышения привилегий в pkexec. Данная реализация основана на
описании из раскрытия
CVE, которое вам следует прочитать.
Если это сработает на вашей машине, значит, вы уязвимы. Чтобы
устранить проблему, либо обновите polkit до исправленной версии, либо отключите бит setuid
на pkexec следующей командой:
$ sudo chmod a-s $(which pkexec)
Этот эксплойт опасно легко написать на основе информации из раскрытия, поэтому пропатчьте все свои машины как можно скорее.
Чтобы запустить этот эксплойт, просто выполните make в корневом
каталоге. Это:
exploit.c, который запускает эксплойтgconv/badconv.c, который содержит полезную нагрузку./exploitЕсли это откроет вам оболочку с правами root, ваша система уязвима.
Если вы получите следующий вывод, вы успешно устранили ошибку
с помощью приведённой выше команды chmod:
Running exploit...
GLib: Cannot convert message: Could not open converter from “UTF-8” to “ZT”
pkexec must be setuid root
Если в качестве вывода вы получите справочное сообщение pkexec, ваша система,
скорее всего, уже пропатчена.
Эта реализация должна работать на любых уязвимых системах, включая Fedora 34+ и некоторые версии OpenSUSE, которые, похоже, не уязвимы к некоторым реализациям. В частности, это будет работать, даже если в вашей системе установлена версия polkit, отключающая GVFS (добавлено здесь). Тем не менее, у меня нет формального опыта в компьютерной безопасности, и она может сообщить, что ваша система пропатчена, даже если она всё ещё уязвима к этому или другим подобным эксплойтам. Поэтому вам следует убедиться, что вы поддерживаете свои системы в актуальном состоянии, слушайте тех, кто разбирается в этом, и всегда ешьте овощи.