PuTTY密钥恢复漏洞CVE-2024-31497安全预警
流行的 SSH 和 Telnet 串行接口连接工具软件 PuTTY软件日前爆出高危安全漏洞,漏洞追踪编号CVE-2024-31497。
一、漏洞描述
德国波鸿鲁尔大学的安全人员发现,此漏洞位于PuTTY 软件0.68 - 0.80版本中,存在于该软件的 SSH 身份认证环节。
当用户使用上述版本PuTTY或Pageant对SSH服务器进行身份验证时,会调用NIST P-521曲线生成 ECDSA nonces。
虽然其生成的是临时唯一加密数字,这些数字是通过确定性方式生成的,因此存在严重的偏差导致用户私钥被泄露。
攻击者只需要使用相同密钥的任何PuTTY生成的大约60个有效ECDSA签名,就可以完全恢复NISTP-521密钥的私钥。
图源 openwall
攻击者获取签名的方式及其广泛,可以通过服务器恶意窃取,也可以通过其他资源提取,比如签名的 Git 提交记录等。
PuTTY 安全人员解释称:攻击者短暂破解用来验证密钥的服务器或访问保存密钥的 Pageant 程序副本就能获得密钥。
之后攻击者就可以通签名和公钥从中恢复私钥,就能实现通过伪造签名在未经授权的情况下轻而易举的访问服务器。
二、影响范围
该漏洞除影响旧版 PuTTY 之外,以下产品列表捆绑了受影响的 PuTTY 版本,也可能受到此高危安全漏洞的影响:
PuTTY版本 0.68 - 0.80
FileZilla 3.24.1 - 3.66.5
WinSCP 5.9.5 - 6.3.2
TortoiseGit 2.4.0.2 - 2.15.0
TortoiseSVN 1.10.0 - 1.14.6
三、修复方案
官方表示 CVE-2024-31497 漏洞非常严重,并且已经更新发布了 PuTTY 0.81 版本,建议大家尽快升级到最新版本。
此外,FileZilla 3.67.0、WinSCP 6.3.3 和 TortoiseGit 2.15.0.1等软件或版本也修复了这一漏洞,建议大家及时更新。
需要特别强调的是,使用 ECDSA NIST-P521 密钥的产品或组件均受影响,因此建议大家及时删除此前生成的签名。
比如从 authorized_keys、GitHub 存储库和任何其他相关平台删除这些密钥,防止未经授权的访问和潜在数据泄露。
而 TortoiseSVN 用户通过 SSH 访问 SVN 版本库时,也请务必配置 TortoiseSVN 使用最新 PuTTY 0.81 版本的 Plink。
参考材料:https://www.openwall.com/lists/oss-security/2024/04/15/6
翻译工具:百度翻译