Samly访问控制漏洞 CVE-2024-25718
漏洞概述
- 编号: CVE-2024-25718
- 软件包: Samly (Erlang/Elixir)
- 受影响版本: < 1.4.0
- 已修复版本: 1.4.0
- 严重性: 严重 (CVSS评分: 9.3)
- 漏洞类型: 访问控制漏洞
漏洞描述
在Elixir的Samly软件包(1.4.0之前的版本)中,Samly.State.Store.get_assertion/3函数可能会返回一个已经过期的会话。这干扰了访问控制,因为Samly.AuthHandler使用了缓存的会话,并且即使在会话过期后也不会替换它。
技术细节与影响
- 根本原因: 会话管理逻辑缺陷导致过期会话未被正确清理和替换。
- 攻击向量: 网络
- 攻击复杂度: 低
- 所需权限: 无
- 用户交互: 无
- 对脆弱系统的影响:
- 保密性影响: 高 (攻击者可能访问未授权信息)
- 完整性影响: 高 (攻击者可能篡改数据或执行未授权操作)
- 可用性影响: 无
- 对后续系统的影响: 无
关联的通用弱点枚举 (CWE)
- CWE-400: 不受控制的资源消耗 - 产品未能正确控制有限资源的分配和维护,使得攻击者能够影响消耗的资源量,最终导致可用资源耗尽。
- CWE-613: 会话过期不足 - 根据WASC(Web应用安全联盟)的定义,当网站允许攻击者重用旧的会话凭证或会话ID进行授权时,即存在此问题。
修复与参考
- 修复提交: 开发者通过提交
812b5c3和7637ebe修复了此问题。 - 版本对比: 可通过
https://diff.hex.pm/diff/samly/1.3.0..1.4.0查看具体代码变更。 - 相关链接:
-
国家漏洞数据库 (NVD):
https://nvd.nist.gov/vuln/detail/CVE-2024-25718 -
软件包主页:
https://hex.pm/packages/samly -
GitHub仓库:
https://github.com/dropbox/samly,https://github.com/handnot2/samly
-
安全建议
所有使用Samly软件包(Erlang/Elixir)且版本低于1.4.0的用户应立即升级到1.4.0或更高版本,以修复此高危访问控制漏洞。