OpenID Connect客户端提供商配置工作进程ETS表中的原子耗尽漏洞
CVE标识符: CVE-2024-31209 严重等级: 中等 影响平台: Erlang / oidcc (OpenID Connect Client)
受影响版本
>= 3.0.0, < 3.0.2>= 3.1.0, < 3.1.2>= 3.2.0-beta.1, < 3.2.0-beta.3
已修复版本
3.0.23.1.23.2.0-beta.3
漏洞影响
通过调用 oidcc_provider_configuration_worker:get_provider_configuration/1 或 oidcc_provider_configuration_worker:get_jwks/1 函数,可能造成原子耗尽导致的拒绝服务攻击。
由于在使用oidcc的应用程序中,名称通常作为静态值提供,因此此漏洞被利用的可能性较低。
技术细节
漏洞存在于 oidcc_provider_configuration_worker:get_ets_table_name/1 函数中。
该函数调用了 erlang:list_to_atom/1:
|
|
可能存在一种情况(概率极低):oidcc_provider_configuration_worker:get_*/1 的第二个参数每次调用时都使用不同的原子,最终导致原子表被填满,节点崩溃。
漏洞示例
|
|
缓解措施
确保仅向相关函数传递有效的提供商配置工作进程名称。
参考资源
技术指标
CVSS v3.1 评分: 5.3(中等) 基础向量: AV:L/AC:H/PR:H/UI:N/S:C/C:N/I:N/A:H 弱点类型: CWE-400(不受控制的资源消耗)
致谢
发现者:mohamedalikhechine、robertfiko 修复开发者:maennchen 修复审核者:paulswartz 发现组织:SAFE-Erlang-Elixir