关键漏洞信息 漏洞名称 Improper TLS Certificate Management Handling Allows API IdentitySpoofing 漏洞 ID GHSA-ggp9-c99x-54gp 漏洞等级 Moderate 受影响版本 1.5.0 漏洞描述 由于TLS证书管理不当,被攻破的virt-handler实例可以使用自己的TLS凭据假冒virt-api,从而发起对其他virt-handler节点的VM生命周期操作。 漏洞详情 由于TLS证书管理不当,被攻破的virt-handler实例可以重用其TLS捆绑包来假冒virt-api,允许未授权访问其他virt-handler节点上的VM生命周期操作。 virt-api组件作为子资源服务器运行,并代理API VM生命周期请求到virt-handler实例。virt-api与virt-handler之间的通信使用mTLS保护。前者充当客户端,后者充当服务器。virt-api使用的客户端证书如源代码所示。 virt-handler组件使用自签名的根CA验证客户端证书的签名。这个根CA在部署KubeVirt堆栈时由virt-operator生成,并存储在kubevirt命名空间中的ConfigMap中。此ConfigMap被所有virt-handler实例用作信任锚点以验证客户端证书。 在扩展API服务器之外,KubeVirt堆栈中的任何其他virt-handler也可以与virt-handler实例通信。当一台VM从一个节点迁移到另一个节点时,两个节点上的virt-handlers将使用结构称为ProxyManager来回沟通迁移状态。 虽然迁移过程与virt-api和virt-handler之间的通信在VM生命周期管理期间没有直接联系,但在TLS验证机制中有关键的重叠。具体来说,virt-handler和virt-api使用的客户端证书共享相同的CN字段。 PoC 重现漏洞的具体指令,包括特定的配置细节。 影响 攻击者可以利用被攻破的virt-handler实例而raid身份验证逻辑来假冒virt-api并针对其他virt-handler实例执行特权操作,潜在损害其VM的完整性和可用性。