Phoenix before 1.6.14 mishandles check_origin wildcarding · CVE-2022-42975 · GitHub Advisory Database
概述
Phoenix 框架在 1.6.14 版本之前的 socket/transport.ex 文件中,未能正确处理 check_origin 配置中的通配符。
注意:基于 LiveView 的应用程序默认不受此问题影响,因为它们使用了 LiveView 的 CSRF 令牌进行防护。
漏洞详情
- 包: erlang / phoenix (Erlang)
- 受影响版本: < 1.6.14
- 已修复版本: 1.6.14
描述
该漏洞源于 Phoenix 框架对 WebSocket 连接源(Origin)检查功能的实现缺陷。当配置中使用通配符来指定允许的来源时,检查逻辑可能被绕过,从而导致潜在的授权问题。
参考链接
- https://nvd.nist.gov/vuln/detail/CVE-2022-42975
- phoenixframework/phoenix@6e7185b (修复提交)
- https://hexdocs.pm/phoenix/1.6.14/changelog.html#1-6-14-2022-10-10 (变更日志)
安全评估
- 严重等级: 高
- CVSS 总体评分: 7.5 / 10
- CVSS v3.1 向量: AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
- 攻击向量: 网络
- 攻击复杂度: 低
- 所需权限: 无
- 用户交互: 无
- 影响范围: 未改变
- 机密性影响: 无
- 完整性影响: 高
- 可用性影响: 无
- EPSS 分数: 0.194% (未来30天内被利用的概率估计,处于第42百分位)
关联弱点
- CWE-346: 来源验证错误 - 产品未能正确验证数据或通信来源的有效性。
- CWE-863: 不正确的授权 - 当参与者尝试访问资源或执行操作时,产品执行了授权检查,但未能正确执行该检查。
标识符
- CVE ID: CVE-2022-42975
- GHSA ID: GHSA-p8f7-22gq-m7j9
源代码
- 项目仓库: phoenixframework/phoenix
致谢
- 分析师: maennchen