0xNews - 7년간 숨겨진 Polkit 취약점으로 인해 리눅스 루트 권한 획득 가능

0xNews - 7년간 숨겨진 Polkit 취약점으로 인해 리눅스 루트 권한 획득 가능


Github 보안연구팀 발표

https://github.blog/2021-06-10-privilege-escalation-polkit-root-on-linux-with-bug/


polkit 시스템 서비스에서 발견된 7년된 권한 상승 취약점 privilege escalation

권한이 없는 악의적인 로컬 공격자가 권한 부여를 우회하고 루트 root 사용자로 권한 상승 가능


CVE-2021-3560 지정 CVSS 7.8

polkit 0.113~0.118 버전에 해당

Github 보안연구팀에서 2013년 11월 9일 작성된 코드 커밋에서 해당 취약점 부근 언급을 확인

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


Red Hat 보안 연구팀은 polkit v.0.105 를 베이스로 하는 데비안 기반 배포판도 취약하다고 확인

https://seclists.org/oss-sec/2021/q2/180


polkit - PolicyKit 은 리눅스 배포판에서 권한을 정의하고 처리하기 위한 툴킷

권한이 없는 프로세스가 권한이 있는 프로세스와 통신할 수 있도록 허용하는데 사용


Red Hat 연구팀 분석 결과

polkit_system_bus_name_get_creds_sync 에 대한 호출이 시작되기 직전 요청 프로세스가 dbus-daemon 에서 연결이 끊어지면서 프로세스가 프로세스 고유 Uid 나 Pid 를 얻을 수 없으며 요청하는 프로세스의 권한을 확인할 수 없음

이번 취약점으로 인해 가장 큰 위협은 데이터의 기밀성, 무결성, 시스템 가용성


현재까지 확인된 취약점 영향을 받는 리눅스 배포판

RHEL 8

Fedora 21 혹은 이 이상 버전

Debian Bullseye

Ubuntu 20.04

2021년 6월 3일 v.0.119 배포를 통해 취약점 완화


이번 취약점을 확인한 다른 보안연구팀에서는 이번 취약점을 이용한 공격은 매우 쉬움을 확인

bash, kill, dbus-send 와 같은 표준 도구만 사용하여 터미널에서 몇가지 명령만 사용하면 가능

dbus-send 명령 실행 후 polkit 가 요청을 처리하는 동안 프로세스 종료

dbus-send 는 D-Bus 메시지 버스에 메시지를 전송하는데 사용되는 리눅스 프로세스간 통신 메커니즘 IPC Inter-Process Communication

동일한 시스템에서 동시에 실행되는 여러 프로세스간 통신을 허용

polkit 정책 권한 데몬은 자격 증명을 안전하게 인증하기 위해 시스템 버스에 연결된 서비스로 구현


polkit 프로세스 상세 설명 사이트 링크

https://www.freedesktop.org/software/polkit/docs/latest/polkit.8.html


명령을 종료할 때 polkit 종료된 메시지를 잘못 처리하고 요청을 루트 권한 Uid 0 이 있는 프로세스에서 보낸 것처럼 처리하여 즉시 요청을 승인함으로써 인증 우회 발생


취약한 코드 경로를 트리거하려면 적절한 순간에 연결을 끊어야 함

하지만 여러 프로세스가 관련되어 있고 각 프로세스마다 적절한 순간의 타이밍이 모두 다름

익스플로잇이 성공하려면 몇 번의 시도가 필요


사용자와 관리자는 취약점으로 인해 발생하는 잠재적인 위협을 해결하기 위해 빨리 리눅스 패치할 것을 권고


댓글

이 블로그의 인기 게시물

0xNews - 안드로이드 폰 890만대 이상 사전 감염 확인

0xNews - 미군을 주제로 하여 한국인을 노리는 피싱 공격 캠페인 경고

0xNews - 리눅스 커널에서 StackRot 라는 이름의 취약점으로 권한 상승 취약점 발견