Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as Provider/Employee user
-
DeliveryModify externalId field in profile update
-
ExploitBypass authorization check in UpdateProviderCommandHandler
-
ExecutionExecute wp_set_password() with arbitrary user ID
-
ImpactTakeover target WordPress account
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Object-level authorization, IDOR prevention
|
| Exploitation Conditions | Requires authenticated access as a Provider (Employee) user or higher role in WordPress sites running Booking for Appointments and Events Calendar - Amelia plugin versions up to 2.1.3. Attacker exploits the UpdateProviderCommandHandler to modify the externalId field during profile update, gaining unauthorized access to arbitrary WordPress user accounts via wp_set_password() and wp_update_user(). |
| Impact | This vulnerability presents critical real-world risk despite requiring low-level authentication (PR:L). The CVSS 8.8 score accurately reflects the severe impact: network-accessible (AV:N), low complexity (AC:L), no user interaction required (UI:N), with complete compromise of confidentiality, integrity, and availability (C:H/I:H/A:H). While authentication is required, Provider-level access in booking plugins is commonly granted to non-administrative staff, significantly expanding the attack surface. The availability of public proof-of-concept is implicit through the disclosed source code references showing exact vulnerable code paths and the published patch changeset (3499608), which reveals the fix and confirms exploitability. No CISA KEV listing indicates no confirmed mass exploitation campaigns, but the WordPress plugin ecosystem's visibility and the authentication bypass nature make this a high-priority target. From an SSVC perspective: exploitation is possible (POC-equivalent via source disclosure), the attack is automatable once credentials exist, and technical impact enables total site takeover. Organizations running Amelia with multiple user roles face immediate risk of insider threats or compromised low-privilege accounts pivoting to full administrative control. |
| Exploit ScenarioDerived | A malicious employee with Provider (Employee) credentials in an Amelia-powered WordPress booking system authenticates to their legitimate account. During a profile update operation, they intercept the HTTP request and modify the externalId parameter from their own user ID (e.g., 47) to the site administrator's user ID (e.g., 1). The vulnerable UpdateProviderCommandHandler accepts this manipulated externalId without authorization checks and passes it directly to wp_set_password() and wp_update_user(). The attacker simultaneously sets a new password, effectively hijacking the administrator account. With administrator access secured, the attacker can install malicious plugins, exfiltrate customer booking data including payment information, or establish persistent backdoors. The attack requires only network access to the WordPress site and valid Provider credentials, with no user interaction needed, making it highly reliable once initial access is obtained. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Apr 07, 2026
Authenticated privilege escalation to Administrator in Amelia WordPress plugin (all versions ≤2.1.3) allows Provider-level users to hijack any account via Insecure Direct Object Reference. Attackers manipulate the externalId parameter during profile updates to map their session to arbitrary WordPress user IDs, including administrators, bypassing all authorization checks before password reset and user modification operations. EPSS data not provided; no confirmed active exploitation (CISA KEV) at time of analysis, though public exploit code exists via disclosed source code references.
RemediationAI
Immediately upgrade the Amelia plugin to version 2.1.4 or later, which contains the authorization fix implemented in WordPress plugin repository changeset 3499608. The patch modifies the UpdateProviderCommandHandler to properly validate externalId changes against the authenticated user's session context before invoking wp_set_password() and wp_update_user(). Site administrators should review access logs for suspicious Provider account activity, particularly profile update operations, and audit all WordPress user accounts for unauthorized privilege changes. If immediate patching is not feasible, temporarily restrict Provider-level user access or disable the profile update functionality through custom code hooks until the update can be applied. After patching, force password resets for all administrative accounts as a precautionary measure. Full technical details of the fix are available in the changeset at https://plugins.trac.wordpress.org/changeset/3499608/ameliabooking/trunk/src/Application/Commands/User/Provider/UpdateProviderCommandHandler.php. Wordfence users should ensure their firewall rules are updated to detect exploitation attempts.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The vulnerability exists in the UpdateProviderCommandHandler class within the Amelia booking plugin for WordPress (CPE: cpe:2.3:a:ameliabooking:booking_for_appointments_and_events_calendar_-_amelia). The root cause is CWE-639 (Authorization Bypass Through User-Controlled Key), where the externalId field-which directly maps to WordPress core user IDs-is accepted from user input without validation. When a Provider user updates their profile, the application passes this attacker-controlled externalId to WordPress core functions wp_set_password() and wp_update_user() at lines 146, 219, and 239 of UpdateProviderCommandHandler.php. This creates a classic IDOR condition where access control relies on client-supplied identifiers rather than server-side session validation. The plugin's trust boundary failure allows low-privileged authenticated users to reference and modify high-privilege user objects by injecting target user IDs, effectively treating user-supplied keys as authoritative for access decisions.
Know when Booking For Appointments And Events Calendar Amelia gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
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
DescriptionCVE.org
The Booking for Appointments and Events Calendar - Amelia plugin for WordPress is vulnerable to Insecure Direct Object Reference in all versions up to, and including, 2.1.3. This is due to the UpdateProviderCommandHandler failing to validate changes to the externalId field when a Provider (Employee) user updates their own profile. The externalId maps directly to a WordPress user ID and is passed to wp_set_password() and wp_update_user() without authorization checks. This makes it possible for authenticated attackers, with Provider-level (Employee) access and above, to take over any WordPress account - including Administrator - by injecting an arbitrary externalId value when updating their own provider profile.
Executive ViewAI
The Amelia WordPress plugin (versions ≤2.1.3) contains a critical privilege escalation vulnerability that allows authenticated Provider-level users to take control of any WordPress account, including administrator accounts, through parameter manipulation. Organizations using this plugin face immediate risk of complete account takeover and administrative compromise without requiring external exploitation; any Provider-level user can become an administrator.
No vendor-released patch identified at time of analysis. Interim mitigations: (1) Disable Amelia plugin immediately; (2) Restrict Provider-level user creation and audit existing Provider accounts; (3) Implement WordPress database-level restrictions on user_meta modifications; (4) Enable comprehensive audit logging on account modification events; (5) Deploy WAF rules blocking POST requests with externalId parameters to plugin files; (6) Require multi-factor authentication for all administrator accounts; (7) Monitor failed password reset attempts and account privilege changes.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
Unauthenticated privilege escalation in the WordPress plugin Booking for Appointments and Events Calendar - Amelia (Prem
The Amelia Booking plugin for WordPress contains an Insecure Direct Object Reference (IDOR) vulnerability in versions up
Stored XSS in the Amelia WordPress booking plugin (versions ≤ 2.2) allows unauthenticated attackers to persist malicious
Stored Cross-Site Scripting in the Amelia Booking WordPress plugin (≤2.4.9) enables authenticated Contributor-level user
Unauthenticated information disclosure in the Amelia booking plugin for WordPress (all versions through 2.4.12) lets rem
Unauthenticated attackers can approve any WordPress booking in 'waiting' status via the admin-ajax endpoint in Amelia pl
SQL Injection in the Amelia booking plugin for WordPress (versions through 2.4.3) allows authenticated attackers holding
EUVD-2026-19580
NVD
CVE.org
EPSS
Vulnrichment
VulDB
GitHub PoC
Exploit-DB