这是一篇针对 OpenAM 中最高严重度(CVSS 10.0)漏洞的解析。OpenAM 是常用于单点登录(SSO)的访问管理产品。本文以防御视角,说明发生什么、谁受影响以及如何应对,不涉及攻击步骤。
- CVE
- CVE-2026-123551(GitHub 公告 GHSA-5c3q-hp86-xjr8)
- 严重度
- CVSS v3.1 10.0(Critical);CVSS v4.0 也是 10.0(v4.0 评分来自 CVE 记录)
- 类型
- 会话令牌泄露(CWE-201)。公告另列出认证绕过(CWE-288)等
- 前提条件
- 无需认证;能通过网络到达 OpenAM 端口即可。据公告,默认设置即受影响
- 受影响版本
- OpenAM(Open Identity Platform)14.0.0 至 16.1.3
- 修复
- OpenAM 16.1.4
- 日期
- 公告:2026年10月22日 / CVE 记录:2026年11月8日
- 利用情况
- 公告未提及遭到利用。未收录于 CISA KEV(截至11月9日)
放任不管的风险
据公告,未认证攻击者可以读取用户的会话令牌,而令牌等同于登录本身。如果管理员会话被截获,公告称可能导致配置被接管,并以 OpenAM 服务账户的权限执行命令。这种收集不会留下登录失败或账户锁定。请把面向互联网的 OpenAM 作为最优先事项。
这是什么样的漏洞
OpenAM 会向代理端(agent,部署在应用前面用于检查认证的组件)通知会话的创建、注销、超时和属性变更。据公告,这些通知中带有完整的会话标识符,它相当于持有者凭据:谁持有它,谁就被当作该用户。代理端通知默认启用。
两个弱点叠加在一起。本应把通知 WebSocket 限制给代理端的检查,可以通过旧版 Liberty ID-FF(一种较早的联合机制)端点在没有凭据的情况下被绕过。越过检查之后,已连接的客户端可以订阅任意主题,包括内部主题。本站不说明如何利用。
修复前(14.0.0 至 16.1.3)
- 代理端以外的客户端也能连接通知 WebSocket
- 通知中包含会话标识符
- 收集是被动的,日志中不留痕迹
16.1.4 中的变化
- 内部请求分发时也会运行安全过滤器
- ID-FF 端点不再转发到内部端点
- WebSocket 客户端只能订阅代理端主题
公告还指出,同样的旧版 ID-FF 端点在登录、联合或注销之后,会把浏览器重定向到取自请求、未经检查的地址;启用 URL 重写时,用户的会话令牌会被附加到该地址上。16.1.4 中,重定向目的地只接受按提供方设置的允许列表中的地址。
谁受影响
| 项目 | 内容 |
|---|---|
| 产品 | OpenAM(Open Identity Platform) |
| 受影响版本 | 14.0.0 至 16.1.3(CVE 记录的写法为「from 14.0.0 before 16.1.4」) |
| 修复版本 | 16.1.4 |
| 不受影响 | 14.0.0 之前的版本(没有通知 WebSocket) |
| 包 | openam-server-only、openam-federation-library、openam-notifications-websocket(group org.openidentityplatform.openam) |
- 据公告,默认设置即受影响。
- 派生版和商业支持版取决于各供应商发布的版本。请向供应商确认您的版本是否受影响。
如何确认自己是否受影响
确认 OpenAM 的版本
查看管理控制台中显示的版本,或已部署包(WAR、JAR 等)的版本。14.0.0 至 16.1.3 受影响。如果有生产、预发布和开发多个实例,请逐一检查(资产清点清单)。
确认外部能否到达
确认 OpenAM 端口能否从互联网或其他不可信网络到达。公告称,攻击者只需能到达该端口。
确认是否使用代理端通知
查看代理端通知的设置(org.forgerock.openam.notifications.agents.enabled)。公告称其默认启用。
今天该做什么
更新到 16.1.4(最优先)
阅读公告中的升级说明后,把 OpenAM 更新到 16.1.4。如果在 ID-FF 登录、联合或注销之后会把用户重定向到其他主机,必须填写新增的按提供方设置的 Relay State URL List。如果您自定义过 web.xml,请加入 16.1.4 引入的 dispatcher 元素。
在更新之前先收窄入口
公告列出的临时办法如下,它们不能代替更新。
・在代理、负载均衡器或防火墙处,只允许已知的代理端主机访问 /openam/notifications 和 /openam/ws/*。
・如果代理端不依赖通知,就停用代理端通知(把 org.forgerock.openam.notifications.agents.enabled 设为 false)。
・如果不使用 ID-FF 联合,就阻断旧版 Liberty ID-FF 端点,包括 /openam/preLogin 和 /openam/postLogin。
更新后撤销现有会话
公告要求轮换已暴露的会话,并把当前的管理员和用户会话视为可能已暴露。更新后,请强制所有人(包括管理员)重新登录。作为本站的补充,还应检查设备上的长期会话以及已连接应用所持有的会话。流程可参考漏洞修复实务手册。
检查日志和配置变更
公告把意外的 WebSocket 连接、对会话主题的订阅以及脚本配置的变更列为需要监控的内容。针对更新前的这段时间,请检查谁访问过通知端点,以及管理员配置变更的历史。被动读取不会留下登录失败,所以什么都没找到并不能让人放心。
加固脚本环境
公告建议保持脚本沙箱处于强制状态,限制谁能修改脚本配置,并在操作系统沙箱中运行容器。这样即使管理员会话被窃取,也能限制损害。
利用情况
- 公告没有说观察到了利用。公告称,为了给运营者留出升级时间,技术细节和概念验证代码暂不公开。
- 截至2026年11月9日,该漏洞未收录于 CISA 的 KEV 目录(目录版本 2026.11.06)。
- NVD 记录到11月8日才创建,状态为 Received(尚未分析)。
本站的观点:比起评分,更应看重它在 SSO 中的位置和不留痕迹这一点
没有收录 KEV、也没有利用报告,单看评分的话「先观望」也说得通。即便如此,如果您的 OpenAM 暴露在互联网上,本站建议本周就采取行动,理由有两点。
第一,SSO 的中心一旦被攻破,同样的劫持会蔓延到所有连接的应用。第二,如公告所述,读取令牌几乎不留痕迹,事后很难证明什么都没发生。请假定自己无法证明,并把更新与会话撤销配合进行。多因素认证能强化登录这一步,但无法阻止有人重放已签发的会话令牌(多因素认证指南)。
信息来源
- OpenIdentityPlatform/OpenAM — GHSA-5c3q-hp86-xjr8: OpenAM unauthenticated session token disclosure(2026年10月22日发布;受影响与修复版本、临时办法、升级说明)
- CVE.org — CVE-2026-123551(2026年11月8日发布;14.0.0 before 16.1.4;CVSS 10.0)
- NVD — CVE-2026-123551(11月8日创建;状态 Received,即尚未分析;CWE-201)
- CISA KEV — Known Exploited Vulnerabilities Catalog(已确认截至11月9日未收录)
最后确认:2026年11月9日。