Kubernetes Azure文件CSI驱动程序漏洞:服务账户令牌泄露风险深度解析

本文详细分析了Kubernetes项目中Azure文件CSI驱动程序的一个中危安全漏洞(CVE-2024-3744)。该漏洞导致服务账户令牌可能被记录在日志中,攻击者若获取这些日志,可能利用令牌访问云端机密存储。文章提供了漏洞影响范围、检测方法和修复方案。

CVE-2024-3744: azure-file-csi-driver 在日志中泄露服务账户令牌

CVSS评分: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N - 中危 (6.5)

问题描述

azure-file-csi-driver 中发现一个安全问题:拥有驱动程序日志访问权限的攻击者可以观察到服务账户令牌。这些令牌随后可能被用来与外部云提供商交换,以访问存储在云保险库解决方案中的机密信息。

触发条件:仅当 CSIDriver 对象中配置了 TokenRequests 并且 驱动程序通过 -v 标志将日志级别设置为 2 或更高时,令牌才会被记录。

此问题被评为 中危 CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N (6.5),并分配了 CVE 编号 CVE-2024-3744

我是否受到影响?

如果您在 CSIDriver 对象中配置了 TokenRequests 并且 驱动程序通过 -v 标志将日志级别设置为 2 或更高,则您可能受到影响。

  • 要检查是否配置了令牌请求,请运行以下命令:
    1
    
    kubectl get csidriver file.csi.azure.com -o jsonpath="{.spec.tokenRequests}"
    
  • 要检查令牌是否被记录,请检查 secrets-store 容器日志:
    1
    
    kubectl logs csi-azurefile-controller-56bfddd689-dh5tk -c azurefile -f | grep --line-buffered "csi.storage.k8s.io/serviceAccount.tokens"
    

受影响版本

  • azure-file-csi-driver <= v1.29.3
  • azure-file-csi-driver v1.30.0

如何缓解此漏洞?

在升级之前,可以通过使用 -v 标志将 azure-file-csi-driver 的日志级别设置为 0 或 1 来缓解此漏洞。

已修复版本

  • azure-file-csi-driver v1.29.4
  • azure-file-csi-driver v1.30.1

检测

检查云提供商日志中是否存在意外的令牌交换,以及对云资源的意外访问。

如果您发现此漏洞已被利用的证据,请联系 security@kubernetes.io

致谢

此漏洞由 Microsoft 的 Weizhi Chen (@cvvz) 修复。

感谢,

Rita Zhang,代表 Kubernetes 安全响应委员会

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计