CVE-2026-32953Tillitis TKey客户端Go包(tkeyclient)1.2.0及以下版本存在严重逻辑漏洞。由于缓冲区索引错误,当用户提供的秘密(USS)哈希首字节为0x00时,USS会被静默忽略。这导致生成的复合设备标识符(CDI)与未提供USS时相同,存在约1/256的触发概率。该问题已在1.3.0版本修复,建议尽快升级。
该漏洞源于tkeyclient Go模块中的缓冲区索引错误。在处理User Supplied Secrets (USS)时,代码逻辑错误地使用USS摘要的第一个字节覆盖了控制USS是否启用的布尔变量。具体而言,若USS的哈希值(如SHA256)首字节为0x00(概率约为1/256),该布尔值会被置为false,导致系统认为未提供USS。这将导致生成的Compound Device Identifier (CDI)及后续的密钥材料退化为无USS状态。攻击者若能物理接触设备,可利用此特性尝试破坏密钥生成的完整性,导致基于该CDI的安全机制失效。