Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Unauthenticated nopriv AJAX handler reachable over the network with no interaction (AV:N/AC:L/PR:N/UI:N); resulting admin takeover yields full confidentiality, integrity, and availability impact.
Primary rating from Vendor (wordfence).
CVSS VectorVendor: wordfence
Lifecycle Timeline
2DescriptionCVE.org
The TrueBooker plugin for WordPress is vulnerable to Account Takeover in all versions up to, and including, 1.2.6. This is due to the add_front_user_update() AJAX handler being registered for unauthenticated users and accepting an arbitrary truebooker_wp_user_id value, which is passed directly to wp_update_user() without verifying authentication or ownership. This makes it possible for unauthenticated attackers to change any WordPress user account email address, including an administrator, by submitting the target user ID and an attacker-controlled email address. An attacker can then use the native WordPress password reset flow to receive the reset link at the attacker-controlled email address and take over the account.
Articles & Coverage 1
AnalysisAI
Account takeover in the TrueBooker appointment-booking plugin for WordPress (all versions through 1.2.6) lets remote attackers hijack any account, including administrators. The add_front_user_update() AJAX action is exposed to unauthenticated visitors and trusts a caller-supplied truebooker_wp_user_id, so an attacker can rewrite an admin's email address and then use WordPress's built-in password-reset flow to seize the account. No public exploit has been identified at time of analysis, but the flaw is trivially exploitable and carries a CVSS of 9.8.
Technical ContextAI
The vulnerability lives in a WordPress AJAX endpoint. TrueBooker registers add_front_user_update() via the wp_ajax_nopriv_ hook, which makes the handler reachable by unauthenticated users, and then passes the attacker-controlled truebooker_wp_user_id straight into the core wp_update_user() function without a capability check, nonce validation, or an ownership comparison against the current session. This is a textbook CWE-639 (Authorization Bypass Through User-Controlled Key / insecure direct object reference): the account acted upon is chosen entirely by a client-supplied identifier rather than by the authenticated session, letting one user operate on another user's object. Because wp_update_user() accepts a new user_email, the attacker changes the victim's registered address and pivots through WordPress's native lost-password mechanism.
RemediationAI
Upgrade the TrueBooker plugin to the first release that contains the fix from trac changeset 3640018 (a released patched version was not stated in the source data, so update to the latest available version and verify the code no longer registers add_front_user_update() for nopriv users). Until the update is applied, the most effective compensating control is to deactivate and remove the TrueBooker plugin, which fully closes the exposed AJAX action at the cost of disabling appointment booking. If the plugin must stay active, block or restrict access to /wp-admin/admin-ajax.php requests carrying the action=add_front_user_update (or the truebooker_wp_user_id parameter) at a WAF or reverse proxy - trading a small risk of breaking legitimate front-end profile updates for immediate protection - and audit administrator email addresses for unexpected changes. Reference the vendor advisory at the Wordfence link above and the code change at https://plugins.trac.wordpress.org/changeset/3640018/truebooker-appointment-booking.
The mailSend function in the isMail transport in PHPMailer before 5.2.18 might allow remote attackers to pass extra para
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
Authentication bypass in the LiteSpeed Cache WordPress plugin (versions prior to 6.5.0.1) allows unauthenticated remote
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 SureTriggers WordPress plugin through version 1.0.82 contains a privilege escalation vulnerability that allows unaut
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
Remote code execution in WordPress 6.9.x (before 6.9.5) and 7.0.x (before 7.0.2) arises from a REST API batch endpoint r
Same technique Authentication Bypass
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-59598
GHSA-76x4-wpvp-whc4