這是一篇針對 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日。
延伸閱讀
- 實務:漏洞修復實務手冊 / 資產清點清單
- 判斷:用 CVSS、EPSS、KEV 確定優先順序
- 認證:多因素認證指南 / 認證與授權的區別
- 術語:什麼是工作階段固定? / 什麼是 CVSS?