Kubernetes当启用虚拟日志时,会有多个私密泄漏。

半兽人 发表于: 2020-10-16   最后更新时间: 2020-10-16 09:53:18  
{{totalSubscript}} 订阅, 1,559 游览

在Kubernetes中发现了多个安全问题,当启用verbose日志选项时,将会暴露日志中的秘密数据。此次安全问题被评为中等,CVSS为4.7 CVSS:3.0/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:N。CVE-2020-8563的评级略高,因为泄露的凭证可以对底层的云提供商进行范围变更。

  • CVE-2020-8563: vSphere Provider kube-controller-manager 的日志中的Secret泄露。
  • CVE-2020-8564: 当文件畸形且日志级别>=4时,Docker配置的Secret就会被泄露。
  • CVE-2020-8565: CVE-2019-11250的不完全修复,当logLevel>=9时,日志中的token泄漏。
  • CVE-2020-8566: 当loglevel>=4时,Ceph RBD adminSecrets暴露在日志中。

你是否会有这样的漏洞?

  • CVE-2020-8563 如果使用VSphere provider和kube-controller-manager 设置logLevel>= 4
  • CVE-2020-8564 如果拉取私密存储在docker配置文件中且loglevel>=4,则该漏洞很容易发生。此外,还要求docker配置文件格式错误。
  • CVE-2020-8565 如果kube-apiserver使用logLevel>=9
  • CVE-2020-8566 如果支持Ceph RBD卷并且kube-controller-manager使用logLevel>=4则很容易受到攻击

受影响的版本

CVE-2020-8563 只影响 1.19.0 -1.19.2. 所有其他的CVE都会影响1.191.181.17及更早的版本。

已修复的版本

CVE-2020-8563 - v1.19.3
CVE-2020-8564 - v1.19.3, v1.18.10, v1.17.13
CVE-2020-8565 - v1.20.0-alpha2

影响力

如果启用了足够的详细日志记录,以下私密会在日志中暴露。

  • CVE-2020-8563 - VSphere Cloud 证书
  • CVE-2020-8564 - 在docker配置文件中拉取Secert或其他凭证。
  • CVE-2020-8565 - Kubernetes 认证token (incl. bearer tokens and basic auth)
  • CVE-2020-8566 - Ceph RBD Admin secrets

如何缓解这些漏洞?

所有四个漏洞只有在相应组件的日志等级被启用时才会暴露,而默认情况下没有这样做。因此,这些漏洞都可以通过确保日志级别低于4来缓解。

所有四个漏洞都可以通过防止不受信任地访问日志文件来额外缓解。攻击者只有在能够访问目标日志的情况下才能恢复这些漏洞所暴露的敏感信息。

如果在日志文件中发现有暴露的secrets,建议尽快轮换。暴露可能发生在Kubernetes服务器端组件中,包括kube-apiserverkube-contoller-manager。使用受影响代码的客户端工具,如kubectl,也可以记录secret数据。

探测

日志可以搜索任何已经暴露的秘密值。每个漏洞的单独拉取请求都包含了可能包含秘密值的特定日志条目的细节。

例如,我们可以检查kube-controller-manager日志中暴露Ceph RBD管理秘密的条目。

$ kubectl logs -n kube-system kube-controller-manager | grep rbd | grep key
更新于 2020-10-16

查看kubernetes更多相关的文章或提一个关于kubernetes的问题,也可以与我们一起分享文章