
Эксплойт для проверки концепции CVE-2021-4034 — локального повышения привилегий в pkexec из polkit, демонстрирующий эксплуатацию с помощью простых вспомогательных программ на C и shell-скрипта.
Исследователи Qualys обнаружили довольно интересную локальную уязвимость повышения привилегий
в pkexec из Polkit: writeup, tweet. Эта уязвимость
существует и эксплуатируется на основных дистрибутивах Linux уже довольно долгое время.
Патчи безопасности были опубликованы, поэтому я решил написать очень простой PoC, чтобы
показать, насколько тривиально её эксплуатировать. Код в этом репозитории должен быть
самоочевидным после прочтения связанного write-up. Также спасибо
@Drago1729 за идею и помощь.
Как использовать:
pkexec, например, из policykit-1 <= 0.105-31 в
репозиториях Debian или даже собранную из исходников.
Вы можете установить её локально или просто скопировать исполняемый файл pkexec отдельно
прямо в этот каталог (убедитесь, что он исполняемый и setuid root)../expl.sh и наслаждайтесь.ПРИМЕЧАНИЕ: expl.sh сначала будет искать pkexec в текущем рабочем каталоге,
а затем вернётся к $PATH. Поскольку pkexec обычно является исполняемым файлом с setuid-root,
возможно, лучше запускать это в виртуальной машине, а не на вашей машине, ну вы поняли...
Демо:

Удачи, @mebeim :)