[CVE-2021-4034] Pwnkit
개요
CVE-2021-4034(Pwnkit)취약점은 Polkit이라는 유닉스 운영 체제의 시스템 전반에서 인증 단계를 통제하기 위해 만들어진 SUID 루트 프로그램을 이용한 로컬 권한 상승 취약점입니다.
Polkit은 모든 주요 리눅스 배포판에 설치되어 있으며 CVE-2021-4034 취약점은 Polkit의 pkexec 컴포넌트에 존재합니다.
사전 조건
운영체제가 Ubuntu, Debian, Fedora, Cent OS 등 주요 배포판이고 22년 이전 버전이거나 Polkit 0.120 포함 이전 버전이어야 합니다.
작동 방식
취약한 버전의 polkit을 사용하면 pkexec가 호출 매개변수 개수를 올바르게 처리하지 못하고 이로 인해 공격자의 권한을 상승시키고 인증 및 정책을 우회할 수 있습니다.
취약점 패치 방법
현재 대부분의 배포판(Ubuntu, Debian, Fedora, Cent OS) 등의 운영체제는 패치가 이루어져 CVE-2022-4034 취약점을 사용할 수 없지만 2022년 이전의 버전을 사용하고 있다면 각 운영체제 홈페이지에 있는 긴급패치를 다운받거나 chmod 0755 /usr/bin/pkexec 명령어를 통해 임시로 pkexec의 setuid 비트를 제거하는 방법이 있습니다.
사진과 같이 Setuid 비트를 제거한다면 CVE-2022-4034 취약점을 사용할 수 없습니다.
소스코드 출처 : https://github.com/ryaagard/CVE-2021-4034
GitHub - ryaagard/CVE-2021-4034: Local Privilege Escalation in polkit's pkexec
Local Privilege Escalation in polkit's pkexec. Contribute to ryaagard/CVE-2021-4034 development by creating an account on GitHub.
github.com