CVE

[CVE-2021-4034] Pwnkit

FEARIS 2022. 6. 19. 04:26

개요

CVE-2021-4034(Pwnkit)취약점은 Polkit이라는 유닉스 운영 체제의 시스템 전반에서 인증 단계를 통제하기 위해 만들어진 SUID 루트 프로그램을 이용한 로컬 권한 상승 취약점입니다

Polkit은 모든 주요 리눅스 배포판에 설치되어 있으며 CVE-2021-4034 취약점은 Polkitpkexec 컴포넌트에 존재합니다.

 

CVE-2021-4034 취약점의 CVSS Score는 7.8로 높은 등급에 속합니다.

 

사전 조건

운영체제가 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 명령어를 통해 임시로 pkexecsetuid 비트를 제거하는 방법이 있습니다.

 

Ubuntu 18.04.5

사진과 같이 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