
CVE-2019-13272, 비특권 사용자가 pkexec를 통해 루트 액세스를 얻을 수 있게 하는 Linux 커널 ptrace 취약점에 대한 로컬 권한 상승 익스플로잇입니다. PoC 소스 및 컴파일 지침을 포함합니다.
⚠️ 교육 및 승인된 보안 연구 목적으로만 사용하십시오
원 PoC 저자 BCOLES님께 깊은 감사를 드립니다.
Linux 커널 5.1.17 이전 버전에서, kernel/ptrace.c의 ptrace_link가 ptrace 관계를 생성하려는 프로세스의 자격 증명 기록을 잘못 처리하여, 로컬 사용자가 부모-자식 프로세스 관계의 특정 시나리오를 활용하여 루트 액세스를 얻을 수 있습니다 (부모가 권한을 드롭하고 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
gcc를 사용하여 poc.c를 컴파일합니다:
cd CVE-2019-13272
gcc -s poc.c -o become_root
다음 명령어로 스크립트를 실행합니다:
./become_root