Summary
CVE-2026-14281 is a critical unauthenticated privilege escalation vulnerability (CVSS 9.8) in the "Automation Web Platform – Notifications and OTP for WooCommerce, Advanced Country Code" WordPress plugin (also known as Wawp) by 101gen, affecting all versions up to and including 4.8.6. The flaw allows an unauthenticated attacker to register a new WordPress user account with full administrator privileges, and a related flaw allows the plugin’s OTP verification step to be bypassed entirely without access to the victim’s inbox or phone.
Technical details
- Root cause 1 (Privilege escalation): The REST route
POST /wp-json/wawp/v1/signup/<op>is publicly accessible with no permission checks. Thefinish_registration_logicfunction copies the attacker-controlledwawp_custom_fieldsparameter directly intoupdate_user_meta()without a key allowlist, letting an attacker set sensitive meta keys such aswp_capabilitiesandwp_user_levelduring account registration. - Root cause 2 (OTP bypass): When OTP verification is enabled at signup, the OTP session token (
otp_transient) is returned in plaintext in the HTTP response body. Thehandle_magic_link_request()handler then marks that token as verified on any unauthenticated GET request containing it, without ever validating the actual OTP code. - Trigger conditions: No authentication or user interaction is required; the endpoints are reachable pre-authentication over the network.
- Attack vector: Network — a crafted HTTP request to the plugin’s REST signup endpoint.
- Impact: Unauthenticated attackers can create an administrator-level account and gain full administrative control of the WordPress site; confidentiality, integrity, and availability are all fully compromised.
Affected software
- Automation Web Platform – Notifications and OTP for WooCommerce, Advanced Country Code (Wawp), by 101gen — all versions up to and including 4.8.6.
Severity
- CVSS v3.1 Base Score: 9.8 (Critical)
- Vector:
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Mitigation and recommended actions
- Immediate: Update the plugin to a version released after 4.8.6 as soon as the vendor publishes a fix. At the time of writing, no confirmed patched version has been publicly documented — check the WordPress.org plugin page for the latest release before upgrading.
- If no patch is available: Disable or remove the plugin, or restrict/block public access to the
/wp-json/wawp/v1/signup/REST route at the web server or WAF layer until a fix is confirmed. Audit existing WordPress user accounts for unexpected administrator-role users created via this endpoint, and rotate credentials/sessions if compromise is suspected.

