Linux Polkit權限提升漏洞(CVE-2021-3560)
發布時間 2021-06-110x00 漏洞概述
CVE ID | CVE-2021-3560 | 時 間 | 2021-06-11 |
類 型 | LPE | 等 級 | 高危 |
遠程利用 | 否 | 影響范圍 | |
攻擊復雜度 | 低 | 可用性 | 高 |
用戶交互 | 無 | 所需權限 | 低 |
PoC/EXP | 已公開 | 在野利用 |
0x01 漏洞詳情
Polkit是許多Linux 發行版上默認安裝的系統服務,它被systemd使用,所以任何使用systemd的Linux發行版都會使用polkit。
2021年06月03日,RedHat發布安全公告,修復了Linux Polkit中一個存在了7年的權限提升漏洞(CVE-2021-3560),該漏洞的CVSS評分為7.8,成功利用此漏洞的攻擊者能夠獲得系統上的 root 權限。目前GitHub的安全研究員已經公開披露了此漏洞的細節和PoC。
漏洞細節
該漏洞是由于當請求進程在調用polkit_system_bus_name_get_creds_sync 之前與 dbus-daemon 斷開連接時,該進程無法獲得進程的唯一uid和pid,也無法驗證請求進程的權限。
可以通過啟動dbus-send命令但在 polkit 仍在處理請求的過程中終止它來觸發此漏洞,在認證請求中終止dbus-send(一個進程間通信命令)會導致一個錯誤,因為polkit將要求提供一個不再存在的連接的UID(因為該連接已被終止)。而polkit會以一種錯誤的方式處理此問題:它不會拒絕這個連接請求,而是把這個請求視為來自UID為0的進程。
研究人員表示,該漏洞很容易被利用,只需要使用 bash、kill 和 dbus-send 等標準終端工具執行幾條命令即可。
影響范圍
RHEL 8
Fedora 21及更高版本
Debian testing (“bullseye”)
Ubuntu 20.04
0x02 處置建議
目前此漏洞已經修復,建議參考Linux各發行版本的官方通告及時升級更新:
RHEL 8:
https://access.redhat.com/security/cve/CVE-2021-3560
Fedora 21及更高版本:
https://bugzilla.redhat.com/show_bug.cgi?id=1967424
Debian testing (“bullseye”):
https://security-tracker.debian.org/tracker/CVE-2021-3560
Ubuntu 20.04:
https://ubuntu.com/security/CVE-2021-3560
0x03 參考鏈接
https://access.redhat.com/security/cve/CVE-2021-3560
https://github.blog/2021-06-10-privilege-escalation-polkit-root-on-linux-with-bug/
https://www.theregister.com/2021/06/11/linux_polkit_package_patched/
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-3560
0x04 時間線
2021-06-03 RedHat發布安全公告
2021-06-11 VSRC發布安全通告
0x05 附錄
CVSS評分標準官網:http://www.first.org/cvss/