Description
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.
Problem types
CWE-639 Authorization Bypass Through User-Controlled Key
Product status
Any version
Timeline
| 2026-04-03: | Vendor Notified |
| 2026-04-06: | Disclosed |
Credits
Osvaldo Noe Gonzalez Del Rio
References
www.wordfence.com/...-1065-4167-8b42-3da25945236c?source=cve
plugins.trac.wordpress.org/...r/UpdateProviderController.php
plugins.trac.wordpress.org/...dateProviderCommandHandler.php
plugins.trac.wordpress.org/...dateProviderCommandHandler.php
plugins.trac.wordpress.org/...dateProviderCommandHandler.php
plugins.trac.wordpress.org/...dateProviderCommandHandler.php