Severity by source
AV:N/AC:L/PR:H/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:H/UI:N/S:U/C:H/I:H/A:H
Lifecycle Timeline
2DescriptionCVE.org
The Booking Package plugin for WordPress is vulnerable to Privilege Escalation via Account Takeover in versions up to, and including, 1.7.16. This is due to a missing capability check on the 'updateUser' branch of the package_app_action AJAX endpoint, where the handler only validates a nonce and the dispatcher invokes Schedule::updateUser() with the $administrator argument hard-coded to 1, bypassing the only owner-restriction check inside that function and allowing the target user to be determined solely by attacker-supplied input passed directly to wp_update_user(). This makes it possible for authenticated attackers, with Editor-level access and above, to change the email address and password of any account, including Administrator accounts, resulting in a full site takeover.
AnalysisAI
Privilege escalation in the Booking Package plugin for WordPress (versions up to and including 1.7.16) allows authenticated attackers with Editor-level access or above to take over any account, including Administrator accounts, by abusing the 'updateUser' branch of the package_app_action AJAX endpoint. The handler validates only a nonce and passes a hard-coded administrator flag to Schedule::updateUser(), letting attackers supply arbitrary target user IDs to wp_update_user() and reset the email and password of any account. No public exploit identified at time of analysis, but the issue was disclosed by Wordfence and results in full site compromise once an Editor account is obtained.
Technical ContextAI
The vulnerability resides in the masaakitanaka 'booking-package' WordPress plugin (CPE cpe:2.3:a:masaakitanaka:booking_package:*) within its AJAX dispatcher in index.php (around lines 4416 and 4477) and the Schedule::updateUser() function in lib/Schedule.php (around line 868). The root cause is CWE-639 (Authorization Bypass Through User-Controlled Key) - the dispatcher invokes Schedule::updateUser() with the $administrator parameter hard-coded to 1, which short-circuits the owner-restriction check inside the function. Because the target user identifier is taken directly from attacker-supplied request input and passed to WordPress's wp_update_user() API, there is no enforcement that the caller may only edit their own profile, allowing arbitrary user mutation.
RemediationAI
Upstream fix available (changeset 3558752 on plugins.trac.wordpress.org); a released patched version is not independently confirmed beyond 'after 1.7.16' - administrators should update the Booking Package plugin to the latest available version from the WordPress.org repository and verify the installed version is greater than 1.7.16. Until the update is applied, compensating controls include temporarily deactivating the Booking Package plugin (loses booking functionality), tightening Editor role assignments and auditing existing Editor accounts for unexpected users, restricting access to /wp-admin/admin-ajax.php?action=package_app_action via a WAF rule or web server ACL (may break legitimate booking workflows), and forcing password resets plus reviewing recent administrator email changes. Consult the Wordfence advisory at https://www.wordfence.com/threat-intel/vulnerabilities/id/795c1fd6-137b-4414-8d6b-30053bfb5924 for indicators and detection guidance.
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 technique Authentication Bypass
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-34961
GHSA-9gp9-g392-77v9