CVE-2026-46474Trog::TOTP 1.006之前的版本在生成密钥时使用了Perl内置的rand函数。由于该函数不具备密码学安全性,生成的随机数具有可预测性,导致TOTP密钥容易被攻击者猜解,从而可能绕过双因素认证。
该漏洞的根源在于使用了伪随机数生成器(PRNG)而非加密安全的随机数生成器。Perl的rand函数通常基于时间或进程ID进行种子初始化,其输出序列是可以被预测的。攻击者如果能推断出种子值,或者获取到部分随机序列,就能通过数学计算复现生成过程,从而推导出用户的TOTP密钥。一旦密钥被掌握,攻击者即可生成合法的动态口令,成功绕过2FA验证机制,危及系统机密性。