CVE-2025-4754:Ash认证Phoenix会话过期不足漏洞
漏洞描述
影响
会话令牌在用户登出后仍在服务器端保持有效,造成以下安全漏洞:
- 被泄露的令牌(通过XSS、网络拦截或设备盗窃获取)在用户登出后仍可继续使用
- 数据库中存储的会话仍会过期,这限制了漏洞被利用的时间窗口
- 用户无法在共享或可能被入侵的设备上完全使其会话失效
- 默认情况下,更改密码会使所有其他会话失效,因此更改密码作为安全措施是有效的
- 可能导致不符合要求完全会话失效的安全框架合规性问题
修复方案
补丁
升级到版本2.10.0。升级后,用户必须更新其AuthController实现,使用新的clear_session/2函数及其OTP应用名称。您将通过编译时错误提示完成此操作。
如果您在tokens部分没有将require_token_presence_for_authentication?设置为true,您将看到单独的错误:
|
|
为了在登出时撤销不直接存储在会话中的令牌,我们必须有唯一的标识符来完成此操作。如果可能,您应该优先启用require_token_presence_for_authentication?,而不是将其设置为:jti。请注意,无论您在此处做什么,如果您之前没有将require_token_presence_for_authentication?设置为true,将其设置为true或将authentication.session_identifier设置为:jti将使所有当前认证的用户登出。
工作区解决方法
您可以在auth控制器中的logout/2处理程序中手动撤销令牌。
参考信息
- GHSA-f7gq-h8jv-h3cq
- team-alembic/ash_authentication_phoenix@a3253fb
- https://nvd.nist.gov/vuln/detail/CVE-2025-4754
- team-alembic/ash_authentication_phoenix#634
安全评分
CVSS总体评分:2.3/10(低危)
CVSS v4基础指标
可利用性指标:
- 攻击向量:网络
- 攻击复杂度:低
- 攻击要求:存在
- 所需权限:无
- 用户交互:被动
脆弱系统影响指标:
- 机密性:低
- 完整性:低
- 可用性:无
后续系统影响指标:
- 机密性:无
- 完整性:无
- 可用性:无
EPSS评分:0.142%(第35百分位)
弱点分类
CWE-613:会话过期不足
根据WASC的定义,当网站允许攻击者重复使用旧的会话凭据或会话ID进行授权时,就会发生会话过期不足的情况。