安全机构披露 miniOrange SAML 2.0 Single Sign On WordPress 插件存在两处高危认证绕过漏洞,其中 CVE-2026-15981 的 CVSS 评分高达 9.8。攻击者不需要任何账号密码,只要往你的网站提交一个伪造的 SAMLResponse,就能直接拿到任意用户 —— 包括超级管理员 —— 的登录 Cookie,实现整站后台完全控制。更麻烦的是,监测已经发现多个恶意 IP 在互联网上自动化批量扫描,PoC 脚本已在黑客社区流传。凡是用这个插件对接 Okta、Azure AD 或企业统一认证的 WordPress 站点,都是高危目标。
漏洞基本信息
| 项目 | 内容 |
|---|---|
| 漏洞编号 | CVE-2026-15981 |
| 漏洞等级 | 严重(Critical) |
| CVSS 评分 | 9.8 / 10.0 |
| 漏洞类型 | 认证绕过(弱类型签名校验缺陷) |
| 受影响产品 | miniOrange SAML 2.0 Single Sign On(WordPress 插件) |
| 受影响版本 | Standard 标准版 17.0.6 之前 |
| 修复版本 | Standard 标准版 17.0.6 或更高 |
| POC 状态 | PoC 已在黑客社区流传,存在在野利用 |
(同批修复的关联漏洞:CVE-2026-61979,CVSS 8.1,SAML 签名算法混淆提权。)
漏洞原理
问题出在插件对 SAML 签名校验的处理上。SAML 单点登录协议里,身份提供方(IdP)会给登录响应(SAMLResponse)加一个数字签名,服务端验证签名没问题才放行登录。
插件的 mo_saml_validate_signature() 函数调用 PHP 的 openssl_verify() 来做校验。这里埋了个坑:openssl_verify() 返回的是一个三态整数 ——1 表示验证通过,0 表示不通过,-1 表示出错。
正常逻辑应该严格判断 “是不是等于 1″。但这个插件用了 PHP 弱类型判断,直接把返回值当布尔值用。而 PHP 的弱类型规则里,-1 这个非零值会被自动当成 true。
攻击者构造一个畸形签名,让 openssl_verify() 返回 -1,插件就把它当作 “签名验证通过”。整个认证就绕过了。攻击者再在 SAMLResponse 里放上想登录的账号(比如 admin),插件调用 wp_set_auth_cookie() 直接给攻击者下发管理员 Cookie。
一句话总结:签名校验形同虚设,谁都能伪装成任何用户登录,包括管理员。
高风险部署场景
以下几类站点需要立刻自查,按优先级排列:
1. 公网访问、启用了 SAML SSO 的 WordPress 站点 —— 最高危。 这是攻击者直接打的目标。企业用 miniOrange 插件对接 Okta、Azure AD 或内部统一认证平台的 WordPress 站点,登录页直接暴露在公网,攻击者扫到就能尝试提交伪造 SAMLResponse。恶意 IP 已经在批量扫了。
2. 配置了 “强制 SAML 登录” 的站点。 这类站点整个登录流程都走 SAML,插件处理所有登录请求,漏洞触发路径最直接。
3. 内网但对接了企业 SSO 的 WordPress。 别以为内网就安全。攻击者通过钓鱼或其他入口进入内网后,同样可以利用。而且这类站点的管理员账号往往更值钱。
4. 多站点(Multisite)或集成平台站点。 一个后台管理多个子站点的,一旦被接管,影响面是整个站群。
修复与临时缓解方案
第一优先级:升级插件到修复版本
将 miniOrange SAML 2.0 Single Sign On 升级到 Standard 标准版 17.0.6 或更高版本。在 WordPress 后台「插件」页面检查更新,或者从 wordpress.org / 插件官网下载最新版本覆盖安装。升级后务必验证 SSO 登录流程正常。
第二优先级:临时降低攻击面(升级前的过渡措施)
- 限制后台访问源 IP—— 在 Nginx/Apache 或 WAF 层面对
/wp-admin和/wp-login.php做访问控制,只允许内网 VPN 或可信 IP 段访问。这样即使漏洞被利用,攻击者也没法访问后台。 - 封禁已知恶意扫描 IP—— 安全通报中提到
207.211.214.41、79.127.224.14等恶意 IP 在批量扫描,在 WAF 和防火墙侧封掉这些来源。 - 暂停 SAML SSO 登录—— 如果业务上可接受,临时在插件设置里关闭 SAML 认证,改用 WordPress 默认登录,升级完再恢复。
- 排查可疑管理员—— 检查后台是否有非预期的管理员账户新增,清退异常外部会话,强制管理员改密。
运维自查清单
- 确认是否安装 miniOrange SAML 2.0 Single Sign On 插件,查当前版本号
- 对照是否低于 17.0.6(Standard 标准版)
- 检查站点是否启用 SAML SSO,对接了哪些 IdP
- 排查后台管理员账户列表,是否有非预期新增
- 检查近期登录日志,是否有来自异常 IP 的登录成功记录
- 审查
/wp-admin、/wp-login.php的访问日志,是否有可疑的 SAMLResponse POST 请求 - 在 WAF 侧确认已封禁已知恶意扫描 IP
- 升级后验证 SSO 登录和普通登录流程均正常
总结
CVE-2026-15981 属于那种 “看起来不难、破坏力极强” 的漏洞。一个弱类型判断的疏漏,让 SAML 签名校验完全失效,攻击者伪造一个请求就能拿到管理员权限,而且 PoC 已经流传、在野扫描已经开始。如果你的 WordPress 站点在用 miniOrange SAML 插件,别拖 —— 升到 17.0.6,然后限流后台访问。网站被接管这种事,一次就够受的了。