Phoenix 框架 Origin 检查通配符处理不当安全漏洞剖析

本文详细分析了Phoenix框架在1.6.14之前版本中存在的安全漏洞(CVE-2022-42975),该漏洞源于socket/transport.ex文件对`check_origin`通配符的处理不当,可能导致授权绕过。LiveView应用默认不受影响。

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)检查功能的实现缺陷。当配置中使用通配符来指定允许的来源时,检查逻辑可能被绕过,从而导致潜在的授权问题。

参考链接

安全评估

  • 严重等级: 高
  • 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
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计