文档首页> 云容器引擎 CCE> 服务公告> 漏洞公告> kubernetes subpath符号链接交换安全漏洞(CVE-2021- 25741)
更新时间:2022-03-22 GMT+08:00
分享

kubernetes subpath符号链接交换安全漏洞(CVE-2021- 25741)

近期,华为云容器安全团队监控到社区在 Kubernetes 中发现了一个安全问题,用户可以创建一个带有subPath volume挂载的容器,访问卷外的文件和目录,包括主机文件系统上的文件和目录。

漏洞详情

表1 漏洞信息

漏洞类型

CVE-ID

披露/发现时间

资源管理错误

CVE-2021-25741

2021-09-15

威胁级别

中危。

影响和风险

  • 若恶意用户可以创建一个带有子路径卷挂载的容器,则可以访问卷外的文件和目录,包括主机文件系统上的文件和目录。
  • 集群管理员已限制创建 hostPath 挂载的能力的集群受到的影响最严重。利用该漏洞可以在不使用 hostPath 功能的情况下进行类似 hostPath 的访问,从而绕过限制。
  • 在默认的 Kubernetes 环境中,漏洞利用可用于掩盖对已授予特权的滥用。

触发场景

VolumeSubpath特性开关开启场景(默认开启)。

根本原因

容器使用subPath去挂载一些文件或者目录时,攻击者可能利用Symlink Exchange 访问除挂载目录之外的目录或者主机上的文件,造成越权。

判断方法

涉及所有集群(华南广州、华北-北京四、西南-贵阳一、华东-上海二、华东-上海一、华北-北京一区域1.19.10集群版本已修复,这些region新建的1.19.10版本集群不受该漏洞影响)。

登录节点,执行命令,查看BuidDate,如果查看BuidDate是在2021-08-20之后的时间,则表示已经修复,不受该漏洞影响。

规避和消减措施

您可以禁用 kubelet 上的VolumeSubpath feature gate,并删除任何使用subPath功能的现有 Pod。

  1. 以root用户登录CCE Node节点。
  2. 修改kubelet配置参数,关闭VolumeSubpath特性。

    vi /opt/cloud/cce/kubernetes/kubelet/kubelet_config.yaml

    添加VolumeSubpath: false字段

  3. 重启kubelet。

    systemctl restart kubelet

  4. 确认kubelet新进程已启动,且已关闭VolumeSubpath。

    vi /var/paas/sys/log/kubernetes/kubelet.log

    搜索VolumeSubpath=false,如果能搜到说明关闭成功。

  5. 删除任何使用subPath功能的Pod。

VolumeSubpath特性开启或回退

  1. 修改kubelet配置文件,删除VolumeSubpath相关字段。

    vi /opt/cloud/cce/kubernetes/kubelet/kubelet_config.yaml

  2. 重启kubelet。

    systemctl restart kubelet

  3. 确认kubelet新进程已启动,且重启后的kubelet.log日志中无VolumeSubpath=false相关字段。
分享:

    相关文档

    相关产品

close