热门 SSH 和 Telnet 工具 PuTTY 被曝安全漏洞,追踪编号为 CVE-2024-31497,影响 0.68-0.80 版本,攻击者只需使用 60 个签名就能还原私钥。官方目前已经更新发布了 0.81 版本,并推荐用户尽快升级到最新版本中。
该漏洞由波鸿鲁尔大学的 Fabian Bäumer 和 Marcus Brinkmann 发现,存在于 PuTTY 工具的 SSH 身份认证环节。该应用会调用 NIST P-521 曲线生成 ECDSA nonces(临时唯一加密数字),不过这些数字是通过确定性方式生成的,因此存在偏差。
攻击者只需要访问几十条已签名消息和公钥,就能从中恢复私钥,后续就可以伪造签名,并在未经授权的情况下访问服务器。
除了 PuTTY 之外,包括 FileZilla、WinSCP 和 TortoiseGit 在内的相关组件也存在该问题。目前官方发布了 PuTTY 0.81、FileZilla 3.67.0、WinSCP 6.3.3 和 TortoiseGit 2.15.0.1,修复了该问题。
官方表示 CVE-2024-31497 漏洞非常严重,敦促用户和管理员立即更新。当前使用 ECDSA NIST-P521 密钥的产品或组件均受影响,应通过从 authorized_keys、GitHub 存储库和任何其他相关平台中删除这些密钥,防止未经授权的访问和潜在的数据泄露。