Executive brief
Easy!Appointments, a popular open-source appointment scheduling system, contains a flaw that exposes sensitive customer information. An unauthorized person who obtains a specific booking link can view a customer's full profile, including their email, phone number, physical address, and private notes. This could lead to privacy violations and the exposure of regulated personal data for clinics, salons, and other service providers using the software.
Technical details
An information disclosure vulnerability exists in Easy!Appointments <= 1.5.2 within the booking reschedule component. The `Booking::index()` controller in `application/controllers/Booking.php` retrieves a full customer record from the database using `Customers_model::find()` without field projection or whitelisting. This entire record is then embedded as an inline JavaScript object in the HTML response. An unauthenticated attacker with a valid 12-character `appointment_hash` (often found in emails or logs) can access sensitive fields including email, phone, address, LDAP DN, and internal notes. As of the advisory date, no official patch is available, but operators can mitigate the risk by disabling reschedule links in email templates.
Affected products
- alextselegidis Easy!Appointments <= 1.5.2
Timeline
- 2026-06-15: disclosed: Initial disclosure on GitHub Advisories
- 2026-07-29: advisory: Advisory updated and published