CVE-2025-14505CVE-2025-14505是影响Elliptic加密库的一个高危密码学漏洞。该漏洞存在于ECDSA(椭圆曲线数字签名算法)的实现中,当计算RFC 6979规范的临时值'k'时,如果'k'具有前导零字节,其长度会被错误计算,导致'k'在计算过程中被截断。这种实现缺陷会使生成的签名不正确,从而破坏合法的交易或通信。更严重的是,在特定条件下,攻击者可能通过收集同一输入的正确签名和错误签名,推导出服务器的私钥。该漏洞影响Elliptic 6.6.1及之前所有版本,攻击复杂度较低,无需认证或用户交互即可尝试利用。
该漏洞源于Elliptic库中ECDSA签名生成函数对临时值'k'的字节长度计算错误。根据RFC 6979规范,'k'应该是与椭圆曲线阶数相同位长度的随机数。在某些情况下,当'k'计算结果包含前导零时,库错误地计算了其字节长度,导致'k'被不正确地截断。这会导致生成的签名包含无效的r值或s值,使得签名验证失败。攻击者可以通过以下方式利用:1) 收集目标系统生成的错误签名;2) 获取同一消息的正确签名(可能通过其他渠道或重试);3) 利用错误签名和正确签名之间的差异,通过格基规约攻击(如Hidden Number Problem)推导私钥。攻击成功的前提是攻击者能够获取多对正确/错误签名对,且这些签名使用了相同的私钥。