9.8Critical
未列入 CISA KEV
目前未發現公開 PoC
三句重點
- 成因
- 建立 WordPress 登入工作階段時未向 Descope 驗證 session JWT,身分改採客戶端提供的 email。
- 影響
- 未授權攻擊者只要知道既有帳號 email,即可取得該帳號的 WordPress 登入 session 並完整接管。
- 條件
- 目標站須已安裝並啟用 Descope WordPress 外掛 1.2.0 之前版本,攻擊者才能呼叫其登入處理常式。
版本比對
| 套件 | ❌ 受影響版本 | ✅ 安全版本 |
|---|---|---|
| Descope WordPress 外掛 | < 1.2.0(發行 tag 1.0、1.1) | >= 1.2.0 |
修補方式
升級至 1.2.0 以上版本。
攻擊思路
- 前置條件:目標站須安裝並啟用 Descope WordPress 外掛 1.2.0 之前版本;登入處理常式同時開放給未登入訪客呼叫。 來源
- 略過權杖驗證:建立 WordPress 登入工作階段時未向 Descope 驗證 session JWT,只要收到非空權杖與使用者資料即繼續。 來源
- 指定目標身分:登入身分改採客戶端提供的 email;攻擊者只要知道既有帳號(含管理員)的 email,即可指定該帳號。 來源
- 建立登入工作階段:若該 email 已存在,伺服器將其設為目前使用者並發放長期登入 cookie,完成帳號接管。 來源
- 權限提升變體:同一登入處理常式亦可能依客戶端欄位寫入權限相關使用者資料,造成權限提升。 來源
偵測提示
- 已安裝外掛版本:檢查 Descope WordPress 外掛(slug:descope)是否低於 1.2.0;發行 tag 1.0、1.1 皆受影響。
- AJAX 登入處理常式:關注未驗證訪客對 create_wp_user 的呼叫,以及請求中由客戶端控制的身分欄位或明顯偽造的 session token。
- 前台腳本與 nonce:此外掛前台腳本會把 AJAX nonce 放進頁面,訪客即可取得;出現該 nonce 不代表請求已通過身分驗證。
- HTTP 回應與登入 cookie:該端點成功時可能回傳成功 JSON 並帶 WordPress 登入 cookie。HTTPS 邊緣看不到內容,除非 TLS 解密或在反向代理後方檢查明文。
- 使用者 meta 異常變更:同一流程可能寫入權限相關 user meta;核對非預期的角色或能力變更。
暫時緩解
請立即將 Descope WordPress 外掛升級至 1.2.0 或更新版本。1.2.0 改為向 Descope 驗證 session,並僅以驗證後的身分建立 WordPress 登入。官方未提供不升級即可完全關閉此漏洞的設定;可先停用或移除此外掛。以 WAF 或網頁伺服器限制未登入者呼叫登入處理常式會同時打斷合法 Descope 登入,升級才算完整修補。
通報團隊
複製成可直接貼到 Slack 或 Email 的通報文字。
預覽通報內容
🚨【資安漏洞通報】CVE-2026-110959 等級:Critical (9.8) 受影響套件:Descope WordPress 外掛 < 1.2.0(發行 tag 1.0、1.1) 漏洞簡述:建立 WordPress 登入工作階段時未向 Descope 驗證 session JWT,身分改採客戶端提供的 email。;未授權攻擊者只要知道既有帳號 email,即可取得該帳號的 WordPress 登入 session 並完整接管。;目標站須已安裝並啟用 Descope WordPress 外掛 1.2.0 之前版本,攻擊者才能呼叫其登入處理常式。 建議措施:升級至 1.2.0 以上版本 詳細連結:https://cve.eacc.online/cve/CVE-2026-110959
參考連結
- https://www.cve.org/CVERecord?id=CVE-2026-110959
- https://nvd.nist.gov/vuln/detail/CVE-2026-110959
- https://wpscan.com/vulnerability/8b97f139-cbc3-4913-b69a-a3179f4cc264/
- https://github.com/advisories/GHSA-ff68-vpqw-wj7c
- https://wordpress.org/plugins/descope/
- https://github.com/descope/descope-wordpress/pull/40
- https://github.com/descope/descope-wordpress