今年以來Linux內(nèi)核出現(xiàn)很多嚴重安全漏洞,我們再次予以總結(jié),以供大家參考學(xué)習(xí)和修復(fù)。
編輯搜圖
CAP_SYS_ADMIN導(dǎo)致Kubernetes容器逃逸(CVE-2022-0185)
(1) 漏洞說明
Linux kernel 中發(fā)現(xiàn)一個新的安全漏洞CVE-2022-0185。由于Linux內(nèi)核"File System Context"組件中的一個堆緩存溢出漏洞,攻擊者利用該漏洞可以實現(xiàn)越界寫、權(quán)限提升、DoS 和任意代碼執(zhí)行。使用非特權(quán)的命名空間或使用 unshare進入含有 CAP_SYS_ADMIN 權(quán)限的命名空間。Docker seccomp 默認攔截unshare命令,所以運行該命令一般是不允許的。
(2) 漏洞影響
大于5.1-rc1 以來的所有 Linux kernel 版本,包括最新5.4.173、5.10.93、5.15.1。也影響 Ubuntu 20/21、Debian 11 和部分 Red Hat Centos 8包。
(3) 危害等級
高危(CVSS 評分7.8)
(4) 修復(fù)和緩解建議
升級 Linux kernel 到 5.16.2 版本來修復(fù)該漏洞。對于這些暫時沒有可用補丁的系統(tǒng),建議用戶禁用非特權(quán)用戶命名空間。在 Ubuntu 系統(tǒng)中,可以使用以下命令來禁用非特權(quán)命名空間:
sysctl -w kernel.unprivileged_userns_clone=01.
紅帽用戶可以使用以下命令來禁用用戶命名空間:
echo "user.max_user_namespaces=0" > /etc/sysctl.d/userns.conf # sysctl -p /etc/sysctl.d/userns.conf1.
TIPC遠程堆棧溢出(CVE-2022-0435)
安全研究者在Linux內(nèi)核用于進程間透明網(wǎng)絡(luò)模塊通信 (TIPC) 協(xié)議中發(fā)現(xiàn)了本地和遠程可訪問的堆棧溢出。該模塊存在于大多數(shù)主要發(fā)行版中找到該模塊,在該模塊加載的情況下就可被利用。此外,對于遠程利用目標需要已經(jīng)設(shè)置TIPC承載,即漏洞擴展到使用TIPC系統(tǒng)。漏洞利用非常容易,并且可能導(dǎo)致通過內(nèi)核拒絕服務(wù)崩潰。在沒有或繞過堆棧KASLR的情況下,漏洞可能導(dǎo)致任意控制流劫持有效載荷該模塊是Linux 4.8版本中的監(jiān)控框架中引入,并且此后該漏洞一直存在。
(1) 漏洞說明
漏洞在于`member_cnt在最初的期間檢查,函數(shù)不檢查是否低于MAX_MON_DOMAIN 定義了 `members` 數(shù)組的最大長度。通過偽裝成對等節(jié)點并與目標建立鏈接,在本地或遠程,能夠首先提交惡意域包含任意有效載荷的記錄;發(fā)送一個更新域記錄,將導(dǎo)致之前的惡意記錄被 memcpy到一個272字節(jié)的本地`struct tipc_mon_domain` &dom_bef[6] 觸發(fā)堆棧溢出。這樣可以通過覆蓋以下堆棧的內(nèi)容&dom_bef 與來自惡意域的任意成員緩沖區(qū)首先提交的記錄;其大小受媒體限制 MTU(以太網(wǎng)、UDP、Inifiband),目前該漏洞已經(jīng)出現(xiàn)可以利用Poc并可被直接利用:
編輯搜圖
(2) 影響范圍
Linux Kernel版本 >= 4.8。
CentOS 8默認內(nèi)核版本受該漏洞影響。
(3) 危害等級
高危(CVSS 評分7.1)
(4) 修復(fù)建議
將Linux最新內(nèi)核升級版本。紅帽官方已經(jīng)發(fā)布升級補丁,Centos 8.4可以用過:
yum update kernel1.
升級。
cgroups漏洞容器逃逸和任意命令漏洞(CVE-2022-0492)
漏洞存在于Linux內(nèi)核control groups組件的cgroups的v1版本,該組件用來實現(xiàn)將進程劃分成組,并進行CPU、內(nèi)存、磁盤IO、網(wǎng)絡(luò)等資源限制?,F(xiàn)代容器(docker)廣泛依賴cgroups的特性實現(xiàn)。
(1) 漏洞說明
CVE-2022-0492的主要是因為對release_agent文件的進程是否具有管理權(quán)限(即 CAP_SYS_ADMIN 功能)未進行檢查導(dǎo)致。攻擊者可以通過release_agent強制內(nèi)核以提升的權(quán)限調(diào)用選擇的二進制文件并接管機器。由于release_agent 文件的所有者設(shè)置為root,該漏洞的利用需要具有“root”權(quán)限的進程才能寫入文件,因此, 該漏洞僅允許root進程提升權(quán)限。運行 AppArmor或SELinux安全系統(tǒng)的容器不受影響。
(2) 危害等級
高危(CVSS 評分7.0)
(3) 影響范圍
所有運行Root權(quán)限運行docker容器的宿主機都受漏洞影響。包括CentOS 8,centOS7和centOS 6。
(4) 修復(fù)和緩解建議
將Linux最新內(nèi)核升級版本。
編輯搜圖
排查以root權(quán)限啟動的容器,以非權(quán)限賬號啟動。
-
啟用 AppArmor 或 SELinux。
-
啟用 Seccomp。
DirtyPipe本地權(quán)限提升漏洞 (CVE-2022-0847)
日Linux內(nèi)核中的一個權(quán)限提升漏洞(CVE-2022-0847,簡稱“Dirty Pipe”),利用該漏洞普通允用戶可以通過注入和覆蓋任意只讀文件中的數(shù)據(jù)進行權(quán)限提升并獲得root權(quán)限。漏洞存在于Linux Kernel 5.8及更高版本的內(nèi)核。目前該漏洞的PoC/EXP已經(jīng)發(fā)布,可以被直接利用。
(1) 漏洞說明
CVE-2022-0847存在于Linux內(nèi)核5.8及之后版本中的本地提權(quán)漏洞。攻擊者通過利用此漏洞,可覆蓋重寫任意可讀文件中的數(shù)據(jù),從而可將普通權(quán)限的用戶提升到特權(quán)root。由于其利用原理類似于臟牛漏洞(Dirty Cow,CVE-2016-5195),但更容易被利用,該漏洞被命名為“Dirty Pipe”。
(2) 危害等級
高危(CVSS 評分7.8)
(3) 影響范圍
-
Linux Kernel版本 >= 5.8
-
Linux Kernel版本 < 5.16.11 / 5.15.25 / 5.10.102
-
CentOS 8默認內(nèi)核版本受該漏洞影響
-
CentOS 7及以下版本不受CentOS 8
可以具體通過以下命令排查范圍:
uname -a1.
查看當前使用的內(nèi)核版本,如果該版本在大于5.8則需要更新內(nèi)核版本到對應(yīng)的 5.16.11/5.15.25/5.10.102。
(4) 修復(fù)建議
需要將Linux內(nèi)核升級至以下安全版本:
-
Linux 內(nèi)核 >= 5.16.11
-
Linux 內(nèi)核 >= 5.15.25
-
Linux 內(nèi)核 >= 5.10.102