Description
Easy!Appointments through 1.6.0 contains an authorization bypass vulnerability in Booking::register() that allows unauthenticated attackers to modify any appointment by supplying an appointment id without its hash. Attackers can enumerate sequential appointment ids with a self-asserted manage_mode flag to rewrite appointment details, rebind them to attacker-controlled customers, and obtain management hashes for rescheduling or cancellation.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| alextselegidis | easyappointments | ≤ 1.6.0 | — |
References
- https://hackmd.io/@haind/easyappointments-booking-register-appointment-takeover third-party-advisory
- https://github.com/alextselegidis/easyappointments/blob/4bc7ecd51f3dade8e041558f2c23dda65bd6c43e/application/controllers/Booking.php#L368-L587 technical-description
- https://github.com/alextselegidis/easyappointments/commit/09c6fb30b6aac0830a820d6bec3d2eb241daf150 patch
- https://github.com/alextselegidis/easyappointments product
- VulnCheck Advisory: Easy!Appointments through 1.6.0 Authorization Bypass via booking/register Endpoint third-party-advisory