CVE-2026-6420Keylime存在安全漏洞,其验证器在可信平台模块(TPM)引用证明过程中使用了硬编码的挑战随机数,而非加密安全的随机值。在已注册的受监控机器上拥有root权限的攻击者可利用此漏洞囤积有效的TPM引用,并在攻陷系统后通过重放这些引用来逃避检测。该问题仅影响推模式部署。
该漏洞的根本原因在于Keylime验证器的设计缺陷。在TPM远程证明机制中,验证器应生成一个随机的挑战值发送给代理,代理使用TPM对该值进行签名以证明系统的当前状态。然而,Keylime验证器使用了硬编码的挑战随机数,这意味着生成的TPM引用在特定配置下是可预测且重复的。攻击者首先需要在运行Keylime代理的受监控机器上获取root权限。一旦获得权限,攻击者可以在系统处于“干净”状态时记录下有效的TPM引用。随后,当攻击者对系统进行恶意修改或植入后门时,他们可以通过重放之前囤积的“干净”引用来响应验证器的请求。由于验证器使用的是固定Nonce,它无法区分引用是实时生成的还是重放的,从而错误地认为系统仍然可信。这种重放攻击使得攻击者能够长期维持对系统的控制而不被发现,严重破坏了平台信任链的完整性。