近日Containerd社区公布了一处针对宿主机任意文件的越权读取漏洞,编号为CVE-2022-23648。该漏洞使攻击者可以通过部署特殊配置的恶意镜像,绕过Pod Security Policy等安全机制的约束获取宿主机上的敏感信息。

CVE-2022-23648漏洞被评估为中危漏洞。

影响范围

以下枚举的Containerd版本均在该漏洞影响范围内:

  • ≤v1.4.12
  • v1.5.0~v1.5.9
  • v1.6.0

Kubernetes社区在以下版本修复了该漏洞:

  • v1.4.13
  • v1.5.10
  • v1.6.1
说明 该漏洞只影响使用Containerd运行时节点池中的节点。

关于漏洞的详细信息,请参见CVE-2022-23648

防范措施

  1. 参考如下方案及时升级集群存量节点Containerd版本。
    1. 使用kubectl drain排水掉目前需要升级的节点。
    2. systemctl stop kubelet停止节点的Kubelet服务。
    3. systemctl stop containerd停止节点的Containerd服务。
    4. 安装最新的Containerd的RPM包。
    5. systemctl start containerd启动Containerd服务。
    6. systemctl start kubelet启动Kubelet服务。
    7. 该节点升级完成,使用kubectl uncordon将节点恢复到可调度状态。
    8. 如还需继续升级其他节点,回到第二步继续升级其他节点。
  2. 止血方案:
    1. 严格控制非受信人员的应用部署权限。
    2. 通过新版OPA策略治理禁止在集群中部署不可信镜像。更多信息,请参见配置容器安全策略(新版)