CVE-2026-14281: Automation Web Platform <= 4.8.6 - Unauthenticated Privilege Escalation via 'wawp_custom_fields' Parameter
The Automation Web Platform – Notifications and OTP for WooCommerce, Advanced Country Code plugin for WordPress is vulnerable to Privilege Escalation in all versions up to, and including, 4.8.6. This is due to missing permission enforcement on the publicly accessible REST route POST /wp-json/wawp/v1/signup/<op> and the absence of a key allowlist in the finishregistrationlogic function, which copies the attacker-controlled wawpcustomfields parameter directly into updateusermeta() — allowing sensitive meta keys such as wpcapabilities and wpuserlevel to be set by the caller. This makes it possible for unauthenticated attackers to register a new account with the administrator role and gain full administrative access to the site. When OTP verification is enabled at signup, the OTP session token (otptransient) is returned in plaintext in the HTTP response body, and the handlemagiclinkrequest() handler marks that token as verified on any unauthenticated GET request containing it without ever checking the OTP code value — making the OTP step trivially bypassable with no inbox or SMS access required.
Affected Software
Event History
Frequently Asked Questions
Which sites are exposed to unauthenticated administrator-account creation?
WordPress sites running the affected plugin in any version up to and including 4.8.6 are exposed because the vulnerable signup REST route is publicly accessible and does not enforce permissions.
Does an attacker need an existing account, valid credentials, or access to an OTP delivery channel?
No. The issue can be exploited without authentication. If signup OTP verification is enabled, the returned OTP session token can be marked verified through an unauthenticated request, so inbox or SMS access is not required.
What access can an attacker obtain?
An attacker can create a new account with the administrator role by supplying sensitive WordPress user-meta keys, including wp_capabilities and wp_user_level. This provides full administrative access to the affected site.
How can I check whether a site may have been exploited?
Review WordPress user accounts for unexpected administrator accounts, particularly newly created accounts. Also inspect relevant HTTP logs for requests to POST /wp-json/wawp/v1/signup/<op> and unauthenticated GET requests containing OTP session tokens.