
Эксплойт локального повышения привилегий для CVE-2019-13272, уязвимости ptrace в ядре Linux, позволяющей непривилегированным пользователям получить root-доступ через pkexec. Включает исходный код PoC и инструкции по компиляции.
⚠️ Только для образовательных целей и санкционированных исследований в области безопасности
Огромная благодарность автору оригинального PoC BCOLES
В ядре Linux до версии 5.1.17 функция ptrace_link в kernel/ptrace.c некорректно обрабатывает запись учётных данных процесса, который хочет установить ptrace-отношение, что позволяет локальным пользователям получить root-доступ, используя определённые сценарии с отношением родитель-потомок, где родительский процесс сбрасывает привилегии и вызывает execve (потенциально допуская контроль со стороны злоумышленника). Одним из способствующих факторов является проблема времени жизни объекта (которая также может вызвать панику). Другим способствующим фактором является некорректная пометка ptrace-отношения как привилегированного, что эксплуатируется, например, через помощник Polkit'а pkexec с PTRACE_TRACEME. ПРИМЕЧАНИЕ: SELinux deny_ptrace может быть работоспособным обходным решением в некоторых средах.

Установите git, затем клонируйте скрипт из репозитория GitHub:
sudo apt install git -y
git clone https://github.com/asepsaepdin/CVE-2019-13272.git
Скомпилируйте poc.c с помощью gcc следующей командой:
cd CVE-2019-13272
gcc -s poc.c -o become_root
Запустите скрипт следующей командой:
./become_root