CVE-2026-4599jsrsasign库7.0.0至11.1.1之前的版本存在严重的密码学漏洞。该漏洞源于随机数生成函数中的比较逻辑不完整,导致DSA签名生成时nonce产生偏差。攻击者可利用此偏差,通过分析签名数据恢复私钥,从而危及系统机密性和完整性。
该漏洞位于`src/crypto-1.1.js`文件的`getRandomBigIntegerZeroToMax`和`getRandomBigIntegerMinToMax`函数中。在生成DSA算法所需的随机数k(nonce)时,代码未能正确执行边界检查,导致接受了一些超出理论范围的数值。这种nonce的偏差使得DSA签名不再满足数学上的安全性要求。攻击者无需用户交互或认证,只需被动收集由该库生成的DSA签名,利用针对偏差nonce的数论攻击(如 lattice attack),即可在多项式时间内反推出私钥。私钥泄露将允许攻击者伪造签名,完全破坏系统的身份认证机制。