Serverpod改进存储密码哈希的安全性·CVE-2024-29886·GitHub安全公告数据库
漏洞详情
包: serverpod_auth_server (Pub)
受影响版本: < 1.2.6 已修复版本: 1.2.6
描述
改进存储密码哈希的安全性
Serverpod现在使用OWASP推荐的Argon2Id密码哈希算法来存储电子邮件身份验证模块的密码哈希。
从Serverpod 1.2.6开始,所有创建账户或通过服务器进行身份验证的用户,其密码都将使用这种更安全的算法存储。开发者无需进行任何更改即可开始使用更安全的算法存储密码。
我们为何要改变密码的存储方式?
发现旧密码哈希算法存在一个问题:如果数据库遭到破坏,该算法容易受到彩虹表攻击。
强烈建议您迁移现有的密码哈希。
迁移现有密码哈希
电子邮件身份验证模块提供了一个辅助方法来迁移数据库中所有现有的旧版密码哈希。只需调用Emails.migrateLegacyPasswordHashes(...)并传入一个会话实例作为参数即可迁移密码哈希。
该方法被实现为一个幂等操作,无论调用多少次都会产生相同的结果。
我们建议要么实现一个可以通过远程调用的Web服务器路由,要么在启动服务器时调用此方法。
以下是实现Web服务器路由的示例代码。
Web服务器路由代码
|
|
我们如何迁移现有的密码哈希?
由于在不知道明文密码的情况下无法重新计算密码哈希,因此电子邮件身份验证模块中的方法将新算法应用于已存储的密码哈希。
当受影响的用户稍后进行身份验证时,他们的密码哈希将使用两种算法串联计算。如果身份验证通过,存储的密码哈希将更新为仅使用新算法,以便后续的身份验证只需运行新算法。
影响范围
serverpod_auth_server 的所有1.2.6之前版本。
补丁
升级到1.2.6版本可解决此问题。
参考信息
- GHSA-r75m-26cq-mjxc
- https://nvd.nist.gov/vuln/detail/CVE-2024-29886
- serverpod/serverpod@a78b9e9
严重性
中等 CVSS总体评分:5.3/10
CVSS v3 基本指标
- 攻击向量: 网络
- 攻击复杂度: 低
- 所需权限: 无
- 用户交互: 无
- 范围: 未改变
- 机密性: 低
- 完整性: 无
- 可用性: 无
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
EPSS评分
0.163%(第38百分位)
弱点
CWE-916:使用计算强度不足的密码哈希 该产品为密码生成哈希,但使用的方案未提供足够的计算强度,无法使密码破解攻击变得不可行或成本高昂。