資安雷達 2026 年 10 月 2 日

2026-10-02 — APISIX saml-auth 簽章驗證失效,可冒充任何使用者

primary=https://www.openwall.com/lists/oss-security/2026/10/01/4 primary=https://cveawg.mitre.org/api/cve/CVE-2026-94212 primary=https://apisix.apache.org/docs/apisix/plugins/saml-auth/

APISIX 3.17.0–3.18.0 的 saml-auth 簽章驗證失效,未認證者可冒充任何使用者

oss-security / Apache APISIX · 2026-10-01 · CVE-2026-94212 · CWE-347

Apache APISIX 的 saml-auth 外掛本來靠 IdP 簽發的斷言簽章確認使用者身分,現在 CVE-2026-94212 顯示這道簽章檢查在 3.17.0 到 3.18.0 之間沒有真正擋住偽造的登入。公告說,任何未認證的攻擊者,在預設設定下就能冒充受 saml-auth 保護的每一條路由上的任一使用者。

Apache 於 2026-10-01 在 oss-security 公布,修補版本為 3.19.0。

原本的設計

API gateway 把認證集中在入口,上游服務通常直接信任 gateway 傳來的身分。saml-auth 的官方文件寫明,這個外掛扮演 SAML Service Provider:請求進來時先檢查 session,沒有就轉去 IdP 登入,IdP 再把已簽章的 SAML 斷言送回 ACS 路徑,外掛驗證後建立 session。

驗證用的是設定裡的 idp_cert,文件說明它是 IdP 的 X.509 憑證,用來驗證斷言上的簽章。認證結果會放進 ctx.external_user,下游的 acl 等授權外掛再依此判斷。也就是說,簽章驗證一旦出錯,後面所有依賴使用者身分的判斷都跟著失效。

漏洞機制

CVE 記錄把弱點歸類為 CWE-347(Improper verification of cryptographic signature)。公告沒有公布具體的程式路徑,也沒有說明是哪一種繞過手法,release notes 同樣未說明,3.19.0 的 GitHub release 頁面內容為空。所以目前能確定的只有:簽章驗證的結果不可信,而且不需要先登入就能利用。

公告寫的是「under default configuration」,表示不必刻意關掉某個選項才會中招。文件列了 idp_issuers、sp_audiences、replay_dict 等可選的驗證參數,但公告並未說這些參數能緩解本漏洞,不要當成替代修補。

受影響版本

版本狀態release 日期
3.16.0 及更早不在受影響範圍3.16.0:2026-04-08
3.17.0受影響2026-06-16
3.18.0受影響2026-08-20
3.19.0已修補2026-09-28

CVE 記錄的受影響範圍是 3.17.0 到 3.18.0,3.16.0 以前不在列內,漏洞大約從 2026-06-16 起就存在於正式版。

影響範圍

真正受影響的是同時符合兩個條件的部署:跑 3.17.0 或 3.18.0,且有路由掛了 saml-auth。用 Keycloak、Okta 或 Azure AD 做單一登入,並讓上游服務直接信任 gateway 身分的團隊,要優先清查。沒用 saml-auth(例如只用 key-auth、openid-connect)的路由,從公告看不受影響。

要特別注意連鎖效應:acl 之類的授權外掛讀的是 ctx.external_user,身分能偽造,授權規則就等於形同虛設;上游若再把這個身分當成管理者帳號,衝擊會比 CVSS 數字看起來大。

CVSS 4.0 評分是 6.4(medium),向量為 CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:N/SC:H/SI:H/SA:N。這裡有個值得注意的細節:向量記的是 PR:L,描述卻說「unauthenticated」;而且機密性與完整性影響記在後續系統(SC:H/SI:H),而不是 gateway 本身(VC:N/VI:N)。評分偏中等,是因為評分把傷害算在下游,實際風險取決於你的上游信任什麼。

修補與緩解

公告給的處置只有一個:升到 3.19.0。

# 檢查正在跑的版本
apisix version
# 3.17.0 / 3.18.0 → 升級到 3.19.0

升級之前,公告沒有提供官方緩解方式。可行的暫時做法是自行判斷是否先停用受影響路由上的 saml-auth,或限制能到達這些路由的來源網段,這屬於依風險自行決定的措施,不是公告建議。升級後,建議回頭檢查存取紀錄,看 3.17.0 以後有沒有不尋常的登入或高權限身分的請求。

CVE 由 LucasFutures 回報,協調與修補由 shreemaan-abhishek 處理。CVE-2026-94212 保留日期為 2026-09-21,公開日期為 2026-10-01,3.19.0 的 release 頁面日期(2026-09-28)早於公開日。

原始來源:oss-security 公告、CVE 記錄、saml-auth 文件、APISIX releases


End of article
0
Would love your thoughts, please comment.x
()
x