- CNNVD編號:未知
- 危害等級: 高危
- CVE編號:CVE-2021-30465
- 漏洞類型: 容器逃逸漏洞
- 威脅類型:本地
- 廠 商:未知
- 漏洞來源:深信服
- 發(fā)布時間:2021-06-03
- 更新時間:2021-06-03
漏洞簡介
1、組件介紹
runc的主要作用是使用Linux Kernel提供的諸如namespaces,cgroup等進(jìn)程隔離機(jī)制以及SELinux等security功能,構(gòu)建供容器運(yùn)行的隔離環(huán)境,從而保證主機(jī)的安全。
2021年6月1日,深信服安全團(tuán)隊監(jiān)測到一則runc組件存在容器逃逸漏洞的信息,漏洞編號:CVE-2021-30465,漏洞威脅等級:高危。
該漏洞是由于掛載卷時,runc不信任目標(biāo)參數(shù),并將使用“filepath-securejoin”庫來解析任何符號鏈接并確保解析的目標(biāo)在容器根目錄中,但是如果用符號鏈接替換檢查的目標(biāo)文件時,可以將主機(jī)文件掛載到容器中。攻擊者可利用該漏洞在未授權(quán)的情況下,構(gòu)造惡意數(shù)據(jù)造成容器逃逸,最終造成服務(wù)器敏感性信息泄露。
3、漏洞分析
以Kubernetes為例,攻擊者首先創(chuàng)建磁盤卷中的符號鏈接到根目錄,其中卷使用該符號鏈接作為安裝的目標(biāo)。因?yàn)榘惭b的源是攻擊者控制的目錄,因此后續(xù)的掛載將出現(xiàn)在攻擊者控制的目錄。
因此,攻擊者可以首先在他們的惡意源目錄中放置一個帶有卷名稱的符號鏈接,之后容器的后續(xù)掛載將綁定到容器中。因?yàn)橛糜谝袅抗芾淼闹鳈C(jī)文件路徑是相對固定的,如果攻擊者以音量配置文件啟動容器,并且能夠在與該配置共享的磁盤卷的容器中運(yùn)行惡意代碼,那么攻擊者能輕松完成此次攻擊。
漏洞公示
參考網(wǎng)站
受影響實(shí)體
runc是一個輕量級通用容器運(yùn)行環(huán)境,它允許一個簡化的探針到運(yùn)行和調(diào)試的底層容器的功能,不需要整個docker守護(hù)進(jìn)程的接口。runc可面向有安全需求的公司等部署大型docker集群,在GitHub上的訂閱量為8000+,使用量較大。
目前受影響的runc版本:
runc <= 1.0.0-rc94
補(bǔ)丁
1、如何檢測組件版本
輸入runc -v即可查看版本:
2、官方修復(fù)建議
當(dāng)前官方已發(fā)布最新版本,建議受影響的用戶及時更新升級到最新版本。鏈接如下:
https://github.com/opencontainers/runc/releases/tag/v1.0.0-rc95