近期接安全廠商漏洞通報,Linux環境下Polkit的pkexec中被發現存在一個權限提升漏洞(CVE-2021-4034) ,也被稱為PwnKit。該漏洞是由于pkexec無法正確處理調用參數,從而將環境變量作為命令執行,具有任意用戶權限的攻擊者都可以在默認配置下通過修改環境變量來利用此漏洞,從而獲得受影響主機的root權限。目前該漏洞的細節和PoC已公開,存在較高安全風險,請相關師生用戶盡快采取措施進行防護。該漏洞詳情和修復措施如下:
漏洞詳情
Polkit(PolicyKit)是一個用于控制類Unix系統中控制系統范圍權限的組件,它為非特權進程與特權進程的通信提供了一種有組織的方式。pkexec是Polkit開源應用框架的一部分,它負責協商特權進程和非特權進程之間的互動,允許授權用戶以另一個用戶的身份執行命令,是sudo的替代方案。
該漏洞是由于pkexec在處理傳入參數的邏輯出現問題,導致環境變量被污染,最終交由pkexec代碼邏輯執行實現客戶機權限提升。有普通權限用戶的攻擊者通過執行漏洞文件,觸發越界讀寫,從而在目標系統上造成權限提升。
風險等級
高危
影響范圍
Polkit默認安裝在多個主流Linux系統上,由2009年5月發布的第一個版本引入,并影響后續所有版本。以下為CentOS及Ubuntu上的安全版本:
CentOS系列:
CentOS 6:polkit-0.96-11.el6_10.2
CentOS 7:polkit-0.112-26.el7_9.1
CentOS 8.0:polkit-0.115-13.el8_5.1
CentOS 8.2:polkit-0.115-11.el8_2.2
CentOS 8.4:polkit-0.115-11.el8_4.2
Ubuntu系列:
Ubuntu 21.10 (Impish Indri) < Released (0.105-31ubuntu0.1)
Ubuntu 21.04 (Hirsute Hippo) Ignored (reached end-of-life)
Ubuntu 20.04 LTS (Focal Fossa) < Released (0.105-26ubuntu1.2)
Ubuntu 18.04 LTS (Bionic Beaver) < Released (0.105-20ubuntu0.18.04.6)
Ubuntu 16.04 ESM (Xenial Xerus) < Released (0.105-14.1ubuntu0.5+esm1)
Ubuntu 14.04 ESM (Trusty Tahr) < Released (0.105-4ubuntu3.14.04.6+esm1)
修復建議:
目前各Linux發行版官方均已給出安全補丁,建議用戶盡快升級至安全版本,或參照官方說明措施進行緩解,CentOS、Ubuntu及Debian用戶可參考以下鏈接進行升級:
https://ubuntu.com/security/CVE-2021-4034
https://access.redhat.com/security/cve/CVE-2021-4034
https://security-tracker.debian.org/tracker/CVE-2021-4034
CentOS、Ubuntu的用戶可以使用以下命令升級Polkit到最新版本:
CentOS系列:
yum clean all && yum makecache
yum update polkit -y
驗證修復,可通過以下命令查看 Polkit 是否為安全版本:
rpm -qa polkit
Ubuntu系列:
sudo apt-get update
sudo apt-get install policykit-1
驗證修復,可通過以下命令查看 Polkit 是否為安全版本:
dpkg -l policykit-1
臨時修復建議:
1. 如果系統沒有可用的補丁,可以從 pkexec 中刪除 SUID 位作為臨時緩解措施,輸入以下命令:
chmod 0755 /usr/bin/pkexec
2. 如非必要,建議臨時刪除 pkexec 可執行程序。