Severity by source
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Primary rating from NVD · only source for this CVE.
CVSS VectorNVD
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Lifecycle Timeline
1DescriptionCVE.org
The WishList Member plugin for WordPress is vulnerable to Privilege Escalation via Missing Authorization in versions up to and including 3.30.1. This is due to the missing capability and nonce check in the ajax_get_screen() function. This makes it possible for authenticated attackers, with Subscriber-level access and above, to supply an arbitrary admin screen identifier via the data[url] parameter, causing the plugin to load and execute the administrative API configuration template without authorization. The rendered HTML, which contains the plugin's plaintext REST API Secret Key, is returned directly to the attacker in the AJAX JSON response. An attacker who obtains this key can authenticate to the WishList Member API, create a new membership level assigned the administrator WordPress role, and register an arbitrary administrator-level user account, resulting in complete site takeover.
AnalysisAI
Privilege escalation in the WishList Member WordPress plugin (versions through 3.30.1) allows authenticated subscriber-level attackers to extract the plugin's plaintext REST API Secret Key and use it to create administrator accounts, resulting in full site takeover. The flaw is reachable via a single AJAX call (ajax_get_screen) that lacks capability and nonce checks. No public exploit identified at time of analysis, but the attack path is fully described in the Wordfence advisory and requires only low-privileged authenticated access.
Technical ContextAI
WishList Member is a widely deployed membership/paywall plugin for WordPress that exposes its administrative configuration through internal AJAX endpoints and a REST API protected by a server-side secret key. The root cause is CWE-269 (Improper Privilege Management): the ajax_get_screen() handler accepts a user-supplied data[url] parameter naming an admin screen identifier, then renders the corresponding admin template and returns the resulting HTML in the AJAX response without verifying the caller's capability (e.g., manage_options) or validating a WordPress nonce. Because the admin API configuration screen embeds the plugin's REST API Secret Key directly in its rendered markup, any caller who can reach the endpoint can read the key from the JSON response and subsequently invoke the plugin's REST API to create membership levels bound to the WordPress administrator role and provision new admin users. CPE coverage is cpe:2.3:a:wishlist_member:wishlist_member:*.
RemediationAI
Patch status: no vendor-released patch identified at time of analysis in the provided data; administrators should consult the Wordfence advisory (https://www.wordfence.com/threat-intel/vulnerabilities/id/f5ff0ff4-0878-4e9e-8082-e0f6effef92c) and the vendor site (https://wishlistmember.com/) for a release later than 3.30.1 and upgrade immediately when available. Until a fixed version is installed, deactivate the plugin on sites that allow open user registration, or at minimum disable self-registration so that subscriber-level accounts cannot be freely created (side effect: blocks legitimate new member signups, which may be unacceptable for membership sites - in that case, place the WordPress admin-ajax.php endpoint behind a WAF rule that blocks POST requests to action=ajax_get_screen from non-administrator sessions). After upgrading, rotate the WishList Member REST API Secret Key, audit wp_users for unexpected administrator accounts created after the plugin was installed, and review wp_usermeta and the plugin's membership-level tables for unauthorized levels mapped to the administrator role.
The isMail transport in PHPMailer before 5.2.20 might allow remote attackers to pass extra parameters to the mail comman
The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1
The Hash Form - Drag & Drop Form Builder plugin for WordPress is vulnerable to arbitrary file uploads due to missing fil
The GiveWP - Donation Plugin and Fundraising Platform plugin for WordPress is vulnerable to PHP Object Injection in all
The Simple File List plugin for WordPress through version 4.2.2 contains an unauthenticated remote code execution vulner
The AI Engine WordPress plugin through version 3.1.3 exposes Bearer Token values through the /mcp/v1/ REST API endpoint
The Ninja Forms plugin before 2.9.42.1 for WordPress allows remote attackers to conduct PHP object injection attacks via
The Business Directory Plugin - Easy Listing Directories for WordPress plugin for WordPress is vulnerable to time-based
SQL injection in the NotificationX WordPress plugin (versions up to and including 2.8.2) allows unauthenticated remote a
The POST SMTP Mailer - Email log, Delivery Failure Notifications and Best Mail SMTP for WordPress plugin for WordPress i
The MasterStudy LMS WordPress Plugin - for Online Courses and Education plugin for WordPress is vulnerable to union base
The Country State City Dropdown CF7 plugin for WordPress is vulnerable to SQL Injection via the ‘cnt’ and 'sid' paramete
Same weakness CWE-269 – Improper Privilege Management
View allSame technique Privilege Escalation
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-31527
GHSA-49p8-c5g6-5pj6