OpenAM OIDC声明参数注入漏洞分析

本文详细分析了CVE-2025-64099漏洞,该漏洞允许攻击者通过OIDC声明参数在id_token和user_info中注入任意值,可能导致身份冒充等安全问题,影响OpenAM 16.0.3之前版本。

OpenAM:允许在id_token和user_info中使用任意OIDC请求声明值

漏洞详情

包管理器: Maven
受影响包: org.openidentityplatform.openam:openam-oauth2
受影响版本: < 16.0.3
修复版本: 16.0.3

漏洞描述

摘要

如果启用了"claims_parameter_supported"参数,攻击者可以通过"oidc-claims-extension.groovy"脚本将任意值注入到id_token或user_info中包含的声明中。

授权功能请求不会阻止包含JSON文件的声明参数被注入。此JSON文件允许用户自定义"id_token"和"user_info"文件返回的声明。

这可能导致各种漏洞,具体取决于客户端如何使用这些声明。例如,如果某些客户端依赖电子邮件字段来识别用户,攻击者可以选择输入任何电子邮件地址,从而冒充任何选定的身份。

参考信息

严重程度

高危
CVSS总体评分:8.1/10

CVSS v4基础指标

可利用性指标

  • 攻击向量: 网络
  • 攻击复杂度: 低
  • 攻击要求: 无
  • 所需权限: 无
  • 用户交互: 无

脆弱系统影响指标

  • 机密性: 高
  • 完整性: 高
  • 可用性: 高

后续系统影响指标

  • 机密性: 无
  • 完整性: 无
  • 可用性: 无

弱点

CWE-94: 代码生成控制不当(代码注入)

产品使用来自上游组件的外部影响输入构建全部或部分代码段,但未能中和或错误地中和可能修改预期代码段语法或行为的特殊元素。

标识符

  • CVE ID: CVE-2025-64099
  • GHSA ID: GHSA-39hr-239p-fhqc

源代码

OpenIdentityPlatform/OpenAM

致谢

报告者: Jean-Eudes

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计