OpenAM OIDC声明注入漏洞分析:身份验证机制的安全风险

本文详细分析了OpenAM中存在的OIDC声明注入漏洞(CVE-2025-64099),攻击者可通过claims参数注入任意值到id_token和user_info中,导致身份冒充等安全风险。漏洞影响版本低于16.0.3,已发布修复版本。

OpenAM OIDC声明注入漏洞分析

漏洞概述

CVE ID: CVE-2025-64099
漏洞等级: 高危 (CVSS 8.1)
影响组件: org.openidentityplatform.openam:openam-oauth2
受影响版本: < 16.0.3
修复版本: 16.0.3

技术细节

漏洞描述

当"claims_parameter_supported"参数被激活时,攻击者可以通过"oidc-claims-extension.groovy"脚本,将任意选择的值注入到id_token或user_info中包含的声明中。

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

攻击原理

  1. 注入点: claims参数中的JSON文件
  2. 影响范围: id_token和user_info端点
  3. 技术根源: 缺乏对claims参数的充分验证和过滤

安全影响

此漏洞允许非常广泛的漏洞利用,具体取决于客户端如何使用声明。例如:

  • 如果某些客户端依赖电子邮件字段来识别用户,攻击者可以选择输入任何电子邮件地址,从而冒充任何选定的身份
  • 可能导致身份欺骗、权限提升等安全问题

修复方案

官方修复

  • 升级到OpenAM 16.0.3版本
  • 修复提交: OpenIdentityPlatform/OpenAM@4254b34
  • GitHub安全公告: GHSA-39hr-239p-fhqc

CVSS评分详情

基础指标:

  • 攻击向量: 网络
  • 攻击复杂度: 低
  • 所需权限: 无
  • 用户交互: 无
  • 机密性影响: 高
  • 完整性影响: 高
  • 可用性影响: 高

相关资源

  • GitHub安全公告数据库记录
  • OpenAM官方发布说明
  • CWE分类: CWE-94 - 代码注入不当控制

时间线

  • 报告者: Jean-Eudes
  • 发布时间: 2025年11月12日
  • 最后更新: 2025年11月12日
  • GitHub审核: 2025年11月12日
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计