상세 컨텐츠

본문 제목

모든 리눅스 배포판에 영향을 주는 권한 상승 취약점 발견

국내외 보안동향

by 알 수 없는 사용자 2022. 1. 28. 09:36

본문

2022년 1월 25일, 연구원들이 Polkit의 pkexec 컴포넌트에 존재하는 취약점인 CVE-2021-4034(PwnKit)가 모든 주요 리눅스 배포판의 기본 구성에 존재하며, 시스템에 대한 전체 루트 권한을 얻는데 악용될 수 있다고 경고했습니다.

 

모든 Polkit 버전에 영향을 주는 CVE-2021-4034는 PwnKit이라고 명명되었으며, 약 12년 전 pkexec의 초기 커밋인 것으로 밝혀졌습니다.

 

pkexec는 권한이 있는 프로세스와 권한이 없는 프로세스 간의 상호 작용을 협상하는 Polkit 오픈 소스 응용 프로그램 프레임워크의 일부입니다. pkexec를 사용하면 권한이 있는 사용자가 다른 사용자로 명령을 실행할 수 있습니다.

 

 

악용이 쉽고, PoC도 공개돼

정보 보안 회사인 Qualys의 연구원은 로컬 공격자가 pkexec 프로그램을 악용하여 Ubuntu, Debian, Fedora 및 CentOS의 기본 설치에서 루트 권한을 높일 수 있음을 발견했습니다. 이 연구원은 PwnKit이 다른 리눅스 운영체제에서도 악용될 수 있다고 경고했습니다.

 

Qualys의 취약점 및 위협 연구 이사인 Bharat Jogi는 PwnKit이 "Polkit의 메모리 손상 취약점으로, 권한이 없는 사용자는 기본 Polkit 구성을 사용하여 취약한 시스템에 대한 전체 루트 권한을 얻을 수 있다."고 설명했습니다.

 

연구원은 CVE-2021-4034 취약점이 2009년 5월 첫 번째 버전 이후 모든 버전의 pkexec에 존재하여 숨어있었다고 말했습니다. 또한 해당 취약점을 악용하는 과정을 영상을 통해 공개하였습니다.

[그림 1] PwnKit 취약점 악용 과정을 담은 영상 (클릭시 영상으로 이동합니다.)

 

Qualys에서 PwnKit에 대한 기술적 세부 정보를 게시한 지 3시간도 채 되지 않아 익스플로잇이 공개되었습니다.

 

BleepingComputer에서 해당 익스플로잇을 컴파일 및 테스트한 결과, 모든 시스템에 대한 루트 권한을 부여받을 수 있었습니다.

[그림 2] 익스플로잇 컴파일 및 테스트 결과 (출처 : BleepingComputer)

 

CERT/CC 취약점 분석가인 Will Dormann은 CVE-2021-4034 취약점이 단순하고 보편적이라 설명했습니다. 연구원은 ARM64 시스템에서 추가로 테스트하여 해당 아키텍처에서도 작동함을 보여주었습니다.

[그림 3] ARM64 시스템에서의 CVE-2021-4034 취약점 (출처 : Will Dormann 트위터)

 

해결 방안

Qualys는 2021년 11월 18일에 CVE-2021-4034 취약점에 대해 보고했으며, 우선 관리자에게 Polkit 제작자가 GitLab에서 공개한 패치를 적용할 것을 권고하였습니다.

 

리눅스 배포판은 2022년 1월 25일 Qualys의 취약점 공개 몇 주 전에 패치가 가능했으며, 이후에는 업데이트된 pkexec 패키지를 출시할 예정으로 알려졌습니다.

 

Ubuntu는 이미 버전 14.04 및 16.04 ESM(확장 보안 유지 관리)과 최신 버전 18.04, 20.04, 21.04의 취약점을 해결하기 위해 PolicyKit에 대한 업데이트를 적용했습니다. 사용자는 표준 시스템 업데이트를 실행한 다음, 컴퓨터를 재부팅하기만 하면 변경 사항이 적용됩니다.

 

Red Hat은 또한 지원되는 아키텍처를 위한 Workstation 및 Enterprise 제품의 polkit에 대한 보안 업데이트와 수명 연장 지원, TUS 및 AUS를 제공했습니다.

 

아직 패치를 적용하지 않은 운영 체제에서 공격에 대한 임시 완화 방법은 아래 명령을 사용하여 pkexec에서 읽기/쓰기 권한(SUID 비트)을 제거하는 것입니다.

chmod 0755 /usr/bin/pkexec

 

PwnKit 악용 흔적을 찾기 위해서는 로그에서 "SHELL 변수값을 /etc/shells 파일에서 찾을 수 없습니다" 또는 "환경 변수 [...]의 값에 의심스러운 내용이 포함되어 있습니다. " 항목이 있는지 확인해 보면 됩니다.

 

그러나 Qualys는 흔적을 남기지 않고도 PwnKit 악용이 가능하다고 밝혔습니다.

 

(출처 : 

https://www.bleepingcomputer.com/news/security/linux-system-service-bug-gives-root-on-all-major-distros-exploit-released/

https://blog.qualys.com/vulnerabilities-threat-research/2022/01/25/pwnkit-local-privilege-escalation-vulnerability-discovered-in-polkits-pkexec-cve-2021-4034

https://vimeo.com/669715589?embedded=true&source=video_title&owner=42884007

https://gitlab.freedesktop.org/polkit/polkit/-/commit/a2bf5c9c83b6ae46cbd5c779d3055bff81ded683

https://github.com/arthepsy/CVE-2021-4034

)

 

보안관제센터 MIR Team

관련글 더보기

댓글 영역