CVE-2025-15444CVE-2025-15444是Crypt::Sodium::XS Perl模块中的一个严重安全漏洞,该模块在0.000042版本之前捆绑了存在安全问题的libsodium库。漏洞源于libsodium 1.0.20及更早版本中的crypto_core_ed25519_is_valid_point函数,该函数在处理椭圆曲线Ed25519点的有效性验证时存在缺陷。在特定的非典型使用场景中,当处理自定义密码学操作或不受信任的数据时,该函数可能错误地接受那些不属于密码学主群(order为L的群)的椭圆曲线点。这种缺陷可能导致密码学签名验证失败、密钥交换协议被绕过,或在某些依赖Ed25519点验证的安全协议中引入安全漏洞。攻击者可能利用此漏洞伪造有效签名、进行中间人攻击或破坏依赖Ed25519加密的应用程序的安全性。由于该漏洞的CVSS评分高达9.8,属于严重级别,对使用受影响版本Crypt::Sodium::XS模块的应用程序构成重大威胁。
该漏洞位于libsodium库的crypto_core_ed25519_is_valid_point函数中,该函数用于验证给定的字节序列是否表示Ed25519椭圆曲线上的有效点。Ed25519曲线上的点必须满足特定的数学条件:点必须在曲线上且其阶(order)必须等于群阶L。在正常的密码学实现中,这两个条件都必须严格满足才能认为一个点是有效的。然而,受影响版本的libsodium在实现中存在逻辑错误,可能只部分验证了这些条件。在处理某些精心构造的输入或特定的数据格式时,函数可能接受阶不等于L的点作为有效点。这种缺陷在标准的签名验证场景中影响有限,因为签名验证还会检查点的其他属性。但在某些自定义密码学协议、密钥派生函数或需要直接操作椭圆曲线点的应用场景中,攻击者可以通过提供特制的无效点来绕过安全检查,从而可能导致签名伪造、密钥替换或其他密码学攻击。修复版本(0.000042)已更新libsodium至1.0.20-stable,该版本于2026年1月3日发布,包含了对CVE-2025-69277的修复。