CVE-2026-5465
IDOR in Amelia WordPress Plugin Allows Admin Account Takeover
Publication date: 2026-04-07
Last updated on: 2026-04-07
Assigner: Wordfence
Description
Description
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| wpamelia | amelia | to 2.1.3 (inc) |
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-639 | The system's authorization functionality does not prevent one user from gaining access to another user's data or record by modifying the key value identifying the data. |
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?
The Booking for Appointments and Events Calendar β Amelia plugin for WordPress has a vulnerability called Insecure Direct Object Reference (IDOR) in all versions up to and including 2.1.3.
This happens because the UpdateProviderCommandHandler does not properly validate changes to the externalId field when a Provider (Employee) user updates their own profile.
The externalId corresponds directly to a WordPress user ID and is used in functions like wp_set_password() and wp_update_user() without checking if the user is authorized to make those changes.
As a result, an authenticated attacker with Provider-level access or higher can inject an arbitrary externalId value when updating their profile, allowing them to take over any WordPress account, including Administrator accounts.
How can this vulnerability impact me? :
This vulnerability can have severe impacts because it allows an attacker with Provider-level access to take over any WordPress account on the site.
By injecting an arbitrary externalId, the attacker can change passwords and user details of other accounts, including administrators.
This can lead to full site compromise, unauthorized access to sensitive data, and potential disruption of website operations.
How does this vulnerability affect compliance with common standards and regulations (like GDPR, HIPAA)?:
The vulnerability allows authenticated attackers with Provider-level access to take over any WordPress account, including Administrator accounts, by exploiting insecure direct object references. This unauthorized access and potential account takeover can lead to unauthorized disclosure, modification, or destruction of sensitive data.
Such unauthorized access and control over user accounts can negatively impact compliance with common standards and regulations like GDPR and HIPAA, which require strict controls over access to personal and sensitive information to ensure confidentiality, integrity, and availability.
What immediate steps should I take to mitigate this vulnerability?
To mitigate this vulnerability, you should immediately update the Booking for Appointments and Events Calendar β Amelia plugin for WordPress to a version later than 2.1.3 where the issue is fixed.
Additionally, restrict Provider-level (Employee) user permissions to prevent unauthorized changes to the externalId field, and monitor for suspicious account takeover attempts.
How can this vulnerability be detected on my network or system? Can you suggest some commands?
This vulnerability involves the manipulation of the `externalId` field during updates to a Provider profile in the Amelia plugin for WordPress. Detection would focus on monitoring or inspecting requests that attempt to update provider profiles, specifically looking for unauthorized changes to the `externalId` parameter.
To detect exploitation attempts on your system, you can monitor HTTP requests to the endpoint handling provider profile updates for suspicious or unexpected `externalId` values.
Example commands to detect such activity might include:
- Using web server logs, search for POST requests containing the `externalId` parameter: `grep -i 'externalId' /var/log/apache2/access.log`
- If using a tool like `tcpdump` or `Wireshark`, filter HTTP POST requests to the Amelia plugin update endpoint and inspect payloads for `externalId` changes.
- On the WordPress server, review recent changes to provider profiles by querying the database for updates to the `externalId` field or related user metadata.
Note that specific endpoint URLs or database schema details are not provided in the available context, so exact commands may need adjustment based on your environment.