服務(wù)公告
Kubernetes 本地主機(jī)邊界繞過漏洞(CVE-2020-8558)
2020-07-10
一、概要
近日華為云監(jiān)測到Kubernetes官方發(fā)布安全公告,其核心組件kube-proxy存在主機(jī)邊界繞過漏洞(CVE-2020-8558)。利用漏洞攻擊者可能通過同一局域網(wǎng)下的容器,或在集群節(jié)點(diǎn)上 訪問同一個(gè)二層域下的相鄰節(jié)點(diǎn)上綁定監(jiān)聽了本地127.0.0.1端口的TCP/UDP服務(wù),從而獲取接口信息。如果綁定在端口上的服務(wù)沒有設(shè)置身份驗(yàn)證,則會導(dǎo)致該服務(wù)容易受到攻擊。
華為云提醒使用kube-proxy的用戶及時(shí)安排自檢并做好安全加固。
詳情請參考鏈接:
https://github.com/kubernetes/kubernetes/issues/92315
二、威脅級別
如果集群API Server開啟了非認(rèn)證端口(默認(rèn)8080),威脅級別:【嚴(yán)重】
如果集群API Server默認(rèn)關(guān)閉了非認(rèn)證端口,威脅級別:【重要】
(說明:威脅級別共四級:一般、重要、嚴(yán)重、緊急)
三、漏洞影響范圍
受影響版本:
kubelet / kube-proxy v1.18.0-1.18.3
kubelet / kube-proxy v1.17.0-1.17.6
kubelet / kube-proxy <= 1.16.10
安全版本:
kubelet / kube-proxy master
kubelet / kube-proxy v1.18.4+
kubelet / kube-proxy v1.17.7+
kubelet / kube-proxy v1.16.11+
四、漏洞處置
目前官方已提供安全版本修復(fù)了該漏洞,請受影響的用戶升級至安全版本,升級請參考官方文檔:
https://kubernetes.io/docs/tasks/administer-cluster/cluster-management/#upgrading-a-cluster
規(guī)避措施:
1、如果業(yè)務(wù)容器需使用主機(jī)網(wǎng)絡(luò)模式且又監(jiān)聽在非安全端口上,可以通過在節(jié)點(diǎn)上手動添加iptables規(guī)則來緩解此漏洞。此規(guī)則將拒絕來自節(jié)點(diǎn)到127.0.0.1的流量。
iptables -I INPUT --dst 127.0.0.0/8 ! --src 127.0.0.0/8 -m conntrack ! --ctstate RELATED,ESTABLISHED,DNAT -j DROP
如果集群不需要開啟API Server不安全端口,可以將--insecure-port=0添加到kubernetes API服務(wù)器命令行來禁用端口。
2、如果集群內(nèi)運(yùn)行有不受信的容器,需要manifest文件中關(guān)閉CAP_NET_RAW能力。
securityContext:
capabilities:
drop: ["NET_RAW"]
注:修復(fù)漏洞前請將資料備份,并進(jìn)行充分測試。