天天看點

關于近期Linux核心提權漏洞總結

作者:蟲蟲安全

今年以來Linux核心出現很多嚴重安全漏洞,我們再次予以總結,以供大家參考學習和修複。

關于近期Linux核心提權漏洞總結

CAP_SYS_ADMIN導緻Kubernetes容器逃逸(CVE-2022-0185)

漏洞說明

Linux kernel 中發現一個新的安全漏洞CVE-2022-0185。由于Linux核心"File System Context"元件中的一個堆緩存溢出漏洞,攻擊者利用該漏洞可以實作越界寫、權限提升、DoS 和任意代碼執行。

使用非特權的命名空間或使用 unshare進入含有 CAP_SYS_ADMIN 權限的命名空間。

Docker seccomp 預設攔截unshare指令,是以運作該指令一般是不允許的。

漏洞影響

大于5.1-rc1 以來的所有 Linux kernel 版本,包括最新5.4.173、5.10.93、5.15.1。

也影響 Ubuntu 20/21、Debian 11 和部分 Red Hat Centos 8包。

危害等級

高危(CVSS 評分7.8)

修複和緩解建議

更新 Linux kernel 到 5.16.2 版本來修複該漏洞。

對于這些暫時沒有可用更新檔的系統,建議使用者禁用非特權使用者命名空間。

在 Ubuntu 系統中,可以使用以下指令來禁用非特權命名空間:

sysctl -w kernel.unprivileged_userns_clone=0

紅帽使用者可以使用以下指令來禁用使用者命名空間:

echo "user.max_user_namespaces=0" > /etc/sysctl.d/userns.conf # sysctl -p /etc/sysctl.d/userns.conf

TIPC遠端堆棧溢出(CVE-2022-0435)

安全研究者在Linux核心用于程序間透明網絡子產品通信 (TIPC) 協定中發現了本地和遠端可通路的堆棧溢出。該子產品存在于大多數主要發行版中找到該子產品,在該子產品加載的情況下就可被利用。此外,對于遠端利用目标需要已經設定TIPC承載,即漏洞擴充到使用TIPC系統。漏洞利用非常容易,并且可能導緻通過核心拒絕服務崩潰。在沒有或繞過堆棧KASLR的情況下,漏洞可能導緻任意控制流劫持有效載荷該子產品是Linux 4.8版本中的監控架構中引入,并且此後該漏洞一直存在。

漏洞在于`member_cnt在最初的期間檢查,函數不檢查是否低于MAX_MON_DOMAIN 定義了 `members` 數組的最大長度。通過僞裝成對等節點并與目标建立連結,在本地或遠端,能夠首先送出惡意域包含任意有效載荷的記錄;發送一個更新域記錄,将導緻之前的惡意記錄被 memcpy到一個272位元組的本地`struct tipc_mon_domain` &dom_bef[6] 觸發堆棧溢出。

這樣可以通過覆寫以下堆棧的内容&dom_bef 與來自惡意域的任意成員緩沖區

首先送出的記錄;其大小受媒體限制 MTU(以太網、UDP、Inifiband),目前該漏洞已經出現可以利用Poc并可被直接利用:

關于近期Linux核心提權漏洞總結

影響範圍

Linux Kernel版本 >= 4.8。

CentOS 8預設核心版本受該漏洞影響。

高危(CVSS 評分7.1)

修複建議

将Linux最新核心更新版本。

紅帽官方已經釋出更新更新檔,Centos 8.4可以用過

yum update kernel更新。

cgroups漏洞容器逃逸和任意指令漏洞(CVE-2022-0492)

漏洞存在于Linux核心control groups元件的cgroups的v1版本,該元件用來實作将程序劃分成組,并進行CPU、記憶體、磁盤IO、網絡等資源限制。現代容器(docker)廣泛依賴cgroups的特性實作。

CVE-2022-0492的主要是因為對release_agent檔案的程序是否具有管理權限(即 CAP_SYS_ADMIN 功能)未進行檢查導緻。攻擊者可以通過release_agent強制核心以提升的權限調用選擇的二進制檔案并接管機器。由于release_agent 檔案的所有者設定為root,該漏洞的利用需要具有“root”權限的程序才能寫入檔案,是以, 該漏洞僅允許root程序提升權限。

運作 AppArmor或SELinux安全系統的容器不受影響。

關于近期Linux核心提權漏洞總結

高危(CVSS 評分7.0)

所有運作Root權限運作docker容器的主控端都受漏洞影響。包括CentOS 8,centOS7和centOS 6。

關于近期Linux核心提權漏洞總結

排查以root權限啟動的容器,以非權限賬号啟動。

啟用 AppArmor 或 SELinux。

啟用 Seccomp。

DirtyPipe本地權限提升漏洞 (CVE-2022-0847)

日Linux核心中的一個權限提升漏洞(CVE-2022-0847,簡稱“Dirty Pipe”),利用該漏洞普通允使用者可以通過注入和覆寫任意隻讀檔案中的資料進行權限提升并獲得root權限。

漏洞存在于Linux Kernel 5.8 及更高版本的核心。目前該漏洞的PoC/EXP已經釋出,可以被直接利用。

CVE-2022-0847存在于Linux核心5.8及之後版本中的本地提權漏洞。攻擊者通過利用此漏洞,可覆寫重寫任意可讀檔案中的資料,進而可将普通權限的使用者提升到特權root。由于其利用原理類似于髒牛漏洞(Dirty Cow,CVE-2016-5195),但更容易被利用,該漏洞被命名為“Dirty Pipe”。

Linux Kernel版本 >= 5.8

Linux Kernel版本 < 5.16.11 / 5.15.25 / 5.10.102

CentOS 7及以下版本不受CentOS 8

可以具體通過以下指令排查範圍:

uname -a

檢視目前使用的核心版本,如果該版本在大于5.8則需要更新核心版本到對應的 5.16.11/5.15.25/5.10.102。

需要将Linux核心更新至以下安全版本。

Linux 核心 >= 5.16.11

Linux 核心 >= 5.15.25

Linux 核心 >= 5.10.102