CVE-2026-62379:OpenAM 身份认证平台未授权远程代码执行漏洞,CVSS 9.8

2026 年 7 月 24 日,开源身份与访问管理(IAM)平台 OpenAM 的维护方 Open Identity Platform 披露一项预认证远程代码执行漏洞,编号 CVE-2026-62379,CVSS v3.1 评分 9.8(Critical)。该漏洞位于 /authservice 远程认证端点,由于服务端 XML 解析逻辑使用 Class.forName() 反射加载攻击者可控的 Java 类名,在默认配置下任何可路由到该端点的匿名攻击者均可触发代码执行,无需任何凭证。漏洞由字节跳动 ASM/VI 团队的安全研究员 Zhixi “Jace” Sun 发现并负责任披露。

一、事件概述

OpenAM(前身 Sun OpenAM、ForgeRock OpenAM)是被广泛部署的开源 SSO、OAuth 2.0、OIDC 与身份联合组件,承担着企业员工的统一认证、授权与会话管理职责。该漏洞直接打破”匿名→认证”的边界,使所有依赖 OpenAM 提供身份服务的应用在默认配置下均处于高度风险中。

  • 漏洞编号:CVE-2026-62379(GitHub Advisory: GHSA-wg5r-wc3x-39vc)
  • 受影响组件:org.openidentityplatform.openam:openam-core
  • 受影响版本:<= 16.1.1(缺陷可追溯到 Open Identity Platform fork 之前)
  • 修复版本:16.1.2
  • 披露日期:2026-07-24 / 攻击面:默认配置无需认证即可触达

二、技术细节

漏洞根因被归类为 CWE-470 Use of Externally-Controlled Input to Select Classes or Code(不安全反射),同时涉及 CWE-94 动态代码注入。具体触发链如下:

  1. 客户端向 OpenAM 的 /authservice(PLL)远程认证端点提交 XML 负载,XML 中携带可指定任意 Java 完整类名的元素属性。
  2. OpenAM 服务端的 AuthXMLUtils.createCustomCallback() 解析该 XML 元素时,提取 class 属性值,调用 Class.forName(className).newInstance() 加载并实例化该类。
  3. 在加载与实例化之前没有任何 allowlist 校验或上下文检查,攻击者可以指向 classpath 中任意可加载的 Java 类。
  4. 默认配置下该路径未启用远程认证安全令牌(sunRemoteAuthSecurityEnabled=false),因此无需任何身份验证即可访问。
  5. 一旦远程类被实例化,其构造函数或初始化逻辑中将执行任意 Java 代码,从而以 OpenAM 服务进程的权限实现 RCE。

漏洞的修复提交 edcf968Class.forName 调用之前引入显式的 callback 类名 allowlist,未列入白名单的类名在解析阶段即被拒绝,反射链被完全切断。修复位于 XML 解析层,因此即便攻击者在预认证上下文中也无法突破。

三、影响评估

CVSS 3.1 向量 AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H 在 8 个维度上全部取最严重值,意味着该漏洞可经由网络远程触发、攻击复杂度低、无需权限与用户交互,且机密性、完整性、可用性均遭完全破坏。EPSS 当前预测的 30 天内野外利用概率为 0%(仍处于发布初期),但鉴于:

  • 漏洞技术细节已经在 GitHub Security Advisory 与 NVD 公开;
  • OpenAM 在金融、电信、政府等行业的 IAM 栈中广泛部署;
  • 补丁 16.1.2 与原 16.1.1 之间差距较小,攻击者可通过对比快速定位修补点;

预计 2-3 周内将出现公开 PoC 或野外利用尝试。OpenAM 实例的沦陷意味着攻击者可以接管所有依赖其完成认证的下游系统(OA、工单、HR、邮件、云控制台等),危害呈指数级放大。

四、修复建议

4.1 立即修复

  • 升级 openam-core16.1.2,并按 Open Identity Platform 官方升级流程执行。
  • 重启所有 OpenAM 实例以加载新版本,验证 about 页面显示的版本号。

4.2 临时缓解(无法立即升级时)

  • 启用远程认证安全令牌:sunRemoteAuthSecurityEnabled=true。该配置要求所有 /authservice 调用附带令牌,未带令牌的请求将被拒绝,从而阻断匿名攻击路径。
  • 在边界防火墙/WAF 上限制 /authservice 端点的源 IP,仅允许可信内部网络或受控的认证代理访问。
  • 梳理 OpenAM 实例的访问日志,检索 /authservice 路径下异常的 XML 负载(包含 class 属性、可疑 Java 类名),并对命中请求的源 IP 实施临时封禁。
  • 若已对外暴露,临时将 OpenAM 切换到维护模式(仅允许内网认证),阻断远程利用通道。

4.3 加固建议

  • 对所有依赖 OpenAM 完成认证的下游系统进行凭证审计,必要时轮换密钥与客户端凭据。
  • 部署 RASP 或 WAF 规则拦截调用 Class.forName 的可疑反射路径。
  • 订阅 Open Identity Platform GitHub Security Advisories,关键补丁在 72 小时内完成升级。

五、参考来源