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 动态代码注入。具体触发链如下:
- 客户端向 OpenAM 的
/authservice(PLL)远程认证端点提交 XML 负载,XML 中携带可指定任意 Java 完整类名的元素属性。 - OpenAM 服务端的
AuthXMLUtils.createCustomCallback()解析该 XML 元素时,提取class属性值,调用Class.forName(className).newInstance()加载并实例化该类。 - 在加载与实例化之前没有任何 allowlist 校验或上下文检查,攻击者可以指向 classpath 中任意可加载的 Java 类。
- 默认配置下该路径未启用远程认证安全令牌(
sunRemoteAuthSecurityEnabled=false),因此无需任何身份验证即可访问。 - 一旦远程类被实例化,其构造函数或初始化逻辑中将执行任意 Java 代码,从而以 OpenAM 服务进程的权限实现 RCE。
漏洞的修复提交 edcf968 在 Class.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-core至 16.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 小时内完成升级。
五、参考来源
- GitHub Security Advisory:https://github.com/advisories/GHSA-wg5r-wc3x-39vc
- OpenAM 修复提交:https://github.com/OpenIdentityPlatform/OpenAM/commit/edcf968
- 16.1.2 发行版:https://github.com/OpenIdentityPlatform/OpenAM/releases/tag/16.1.2
- SecureLayer7 技术分析:https://securelayer7.net/lab/cve-2026-62379-openam-authxmlutils-unsafe-reflection-rce