CVE-2026-14281 — WAWP WordPress Unauthenticated Privilege Escalation (≤ 4.8.6)
September 25, 2026 · 988 views
Unauthenticated administrator via public WAWP REST signup: unsanitized wawp_custom_fields writes wp_capabilities through update_user_meta. Automation Web Platform plugin ≤ 4.8.6 (CVSS 3.1 9.8 Critical).
Description
Overview
CVE-2026-14281 is an unauthenticated privilege escalation in the WordPress plugin Automation Web Platform (WAWP — Notifications & OTP for WooCommerce, slug automation-web-platform).
The public REST signup endpoint accepts wawp_custom_fields, maps it to custom_fields_data, and after wp_insert_user() persists each key with update_user_meta() without an allowlist. An attacker can set wp_capabilities and wp_user_level to obtain administrator access.
Affected versions
| | |
|---|---|
| Affected | ≤ 4.8.6 |
| Fixed in | > 4.8.6 (upgrade to latest stable from WordPress.org) |
| CVSS 3.1 | 9.8 Critical (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H) |
| Vector | POST /wp-json/wawp/v1/signup/signup (unauthenticated) |
Plugin directory: Automation Web Platform on WordPress.org.
Technical notes
Relevant code paths (4.8.6):
includes/api/class-wawp-rest-settings-api.php— signup route registrationincludes/auth-services/class-wawp-otp-service.php—wawp_custom_fields→custom_fields_dataincludes/auth-services/class-wawp-signup.php—finish_registration_logic
OTP caveat: If signup OTP is enabled, the first request may stop at otp_verify (challenge sent) and full registration completes only after OTP validation. The bundled PoC reports otp_required in that case; one-shot unauth admin may require OTP disabled or a separate bypass.
Bundled PoC (PoCbit download)
Python 3 tool with check and exploit modes:
- check — Plugin/version fingerprint, WAWP REST namespace, optional live signup probe (may create a throwaway user when OTP is off).
- exploit — Registers a user with injected capability meta (authorized targets only);
--verifyattemptswp-adminlogin confirmation.
Mass scan: --list targets.txt --mode check --threads 20. Use only on hosts you own or have written authorization to test.
Impact
Full site compromise as WordPress administrator: plugin/theme install, user management, content tampering, and lateral movement from the CMS.
Remediation
- Upgrade Automation Web Platform to a version newer than 4.8.6.
- Block or rate-limit unauthenticated access to
/wp-json/wawp/v1/signup/*at the WAF if you cannot patch immediately. - Audit recently created users and
wp_usermetafor suspiciouswp_capabilitieschanges. - Disable public signup if the feature is not required.
Legal and ethical use
Unauthorized exploitation of WordPress sites is illegal in most jurisdictions. This entry is for defensive verification and authorized penetration testing.
References
- GitHub PoC (source): https://github.com/murrez/CVE-2026-14281
- NVD — CVE-2026-14281
- CVE Program
Related PoCs
Same platform, vendor, or tags — explore more write-ups on Pocbit.
- WordPressCVE-2026-96349critical
CVE-2026-96349 — WordPress SiteSkite ≤2.1.8 API-Key Autologin + MCP eval() RCE Chain
SiteSkite WordPress plugin ≤2.1.8: long-lived API key acts as unauthenticated admin bearer via ?token= autologin; REST/admin-ajax MCP abilities run siteskite_execute_php (eval) and file write. CVSS 10.0 Critical (CWE-94). Fixed in 2.2.0. Python PoC: check (readme ≤2.1.8), exploit with API key, mass hits/exploited, --lab. Marker POCBIT-96349-OK.
- WordPressCVE-2026-85984critical
CVE-2026-85984 — WordPress miniOrange OTP Unauthenticated Admin Bypass
Unauthenticated authentication bypass (CWE-287) in miniOrange OTP Login, Verification and SMS Notifications ≤ 5.5.5 via wp-login.php POST mo_wp_login_intent=otp with empty password — mo_by_pass_login() skip_pass_fallback skips password check when Admin OTP Bypass and related OTP login options are enabled. CVSS 3.1 9.8 Critical. Fixed in 5.5.6+. PoC: plugin scan, optional user enum, check/exploit modes.
- WordPressCVE-2026-92966critical
CVE-2026-92966 — WordPress LatePoint ≤5.7.0 Stored Shortcode Execution (Customer Cabinet)
LatePoint appointment booking ≤5.7.0: unauthenticated guest booking stores [shortcode] in customer first/last name (sanitize_text_field keeps brackets); Customer Cabinet block renders welcome line then the_content do_shortcode runs twice → arbitrary shortcode execution. CVSS 9.1 Critical (CWE-94). Fixed in 5.7.1. No API key. Python PoC: check, mass exploit, --lab, optional POCBIT_EXEC_SHORTCODE. Marker POCBIT-92966-OK.
- WordPressCVE-2026-87902critical
CVE-2026-87902 — WordPress Core get_page_template() Unauthenticated LFI → RCE (PEAR chain)
WordPress core 4.7.0–7.1.1: pagename from POST used in get_page_template() without validate_file(); page-templates/ traversal + PEAR gadget → RCE. GHSA-7hp8-65ch-5whp, CVSS 4.0 9.8, CWE-22. Fixed 7.1.2+ (backports 6.8.10, 7.0.6). Python mass scanner: --check, --rce, --shell. Upstream: MRdark-ops/CVE-2026-87902 (HackfutSecRoot).