Erlang-JOSE库因PBES2计数过大存在拒绝服务漏洞详解

本文详细分析了CVE-2023-50966漏洞,该漏洞影响erlang-jose库(JOSE for Erlang and Elixir)1.11.6及之前版本。攻击者可通过在JOSE头部构造巨大的p2c(PBES2计数)值,导致系统CPU资源被耗尽,从而引发拒绝服务攻击。

漏洞概述

CVE-2023-50966 是一个影响 erlang-jose 库(也称为 Erlang 和 Elixir 的 JOSE 实现)的安全漏洞。该漏洞在 1.11.6 及之前的所有版本中存在,并于 2024年3月19日被收录至 GitHub 咨询数据库和国家漏洞数据库(NVD)。漏洞的严重性评级为 中等,CVSS 评分为 5.3

受影响版本与修复方案

  • 受影响版本: 所有低于 1.11.7 的版本。
  • 已修复版本: 1.11.7
  • 补丁提交记录: 修复提交的哈希值为 718d213

漏洞技术细节

漏洞描述

erlang-jose 库在处理 JOSE(JSON Object Signing and Encryption)头部时存在缺陷。当攻击者在头部构造一个异常巨大的 p2c(PBES2 Count,即 PBES2 算法的迭代计数)参数值时,会导致库在进行密码学运算时消耗大量 CPU 资源,从而引发拒绝服务(Denial of Service) 攻击。攻击者无需任何权限,也无需用户交互,即可通过网络远程触发此漏洞。

关联的通用弱点枚举(CWE)

该漏洞被归类为 CWE-400: 未受控的资源消耗。这表示产品未能正确地控制和管理有限的系统资源(在本例中为CPU计算能力)的分配和维护。

CVSS 3.1 评分细则

  • 攻击向量(AV): Network (N) - 可通过网络远程利用。
  • 攻击复杂度(AC): Low (L) - 攻击难度低,无需特殊条件。
  • 权限要求(PR): None (N) - 攻击者无需任何权限。
  • 用户交互(UI): None (N) - 无需用户交互即可触发。
  • 影响范围(S): Unchanged (U) - 漏洞影响仅限于易受攻击的组件本身。
  • 机密性影响(C): None (N) - 不影响数据机密性。
  • 完整性影响(I): None (N) - 不影响数据完整性。
  • 可用性影响(A): Low (L) - 对系统可用性造成有限影响(导致资源耗尽)。

完整向量字符串: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L

可利用性预测评分系统(EPSS)

该漏洞在未来30天内被利用的概率估计为 0.019%(处于第4个百分位数,表示利用可能性相对较低)。

参考资源

  • NVD 漏洞详情页面
  • 相关技术分析报告
  • erlang-jose 项目 GitHub 仓库
  • 官方库文档
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计