CVE-2026-47373Crypt::SaltedHash 是 Perl 语言中用于生成和验证加盐哈希的模块。在 0.09 及之前的版本中,该模块存在严重的安全漏洞,极易受到时序攻击。由于模块使用了 Perl 内置的 eq 运算符来比较哈希值,这种比较方式会根据字符串匹配的长度返回不同的响应时间。攻击者可以利用这一细微的时间差异,通过网络请求逐步推断出存储的哈希值,进而威胁系统的机密性。
该漏洞的核心在于非恒定时间的字符串比较机制。当服务器使用 eq 比较用户输入的哈希与服务器存储的哈希时,Perl 解释器会从左至右逐个字符进行比对。一旦发现不匹配,比较立即终止。这意味着,如果攻击者猜测的哈希前缀是正确的,服务器的处理时间会因多进行一次比较而略微延长。攻击者通过发送大量构造的请求并统计高精度的网络延迟,可以计算出每个字符的正确概率。通过逐字节爆破,攻击者最终可以完整还原出哈希值。随后,攻击者可利用彩虹表或离线暴力破解手段获取原始密码,导致账户被接管。