CVE-2026-55651High· 7.1▾ TwilightEasy!Appointments Vulnerable to Appointments Takeover via Excessive Data Exposure
▾ Twilight zone — High severity, or a signal on a lesser flaw
impact 39.1 · likelihood 0.1 · exploitation 0
Need a working PoC? Pro members can cast a request and our team develops one — it lands right here.
Exploit-prediction probability, daily snapshots since Jul 29.
Disclosure to exploitation, from the record and what we observed since indexing it.
Disclosed via GHSA
0.2%
0.2% → 0.3%
An Excessive Data Exposure vulnerability in the customers search endpoint allows an authenticated user to obtain appointment hashes belonging to other users. Using these hashes, an attacker can modify or delete appointments of other providers, resulting in an Appointments Takeover.
The customers search endpoint exposes excessive information, including appointment hashes, to any authenticated user without proper authorization checks. These hashes uniquely identify appointments that do not belong to the searching user.
By reusing the obtained hashes, an attacker can interact with appointment management endpoints, allowing the modification or deletion of third-party appointments.
The lack of object-level authorization controls leads to an Appointments Takeover, impacting data confidentiality and integrity.
This vulnerability allows an authenticated user to take control of appointments belonging to other users. By obtaining and reusing the exposed hashes, an attacker can view, modify, or delete appointments of other providers, compromising data integrity and confidentiality. This may result in unauthorized appointment cancellations or modifications, operational disruption of the service.
Provider "test test" Calendar:
<img width="1916" height="879" alt="image" src="https://github.com/user-attachments/assets/77b9e11a-860f-4c08-847e-fa95c064710d" />Provider "John Doe" Calendar:
<img width="1917" height="880" alt="image" src="https://github.com/user-attachments/assets/d39566f5-a58c-4337-a781-0886faa83c12" />5.1. Since we have takeover the appointment, it is possible to cancel/delete it.
<img width="1486" height="736" alt="image" src="https://github.com/user-attachments/assets/2a87b9d0-1726-4fdc-af72-7ae9e20cc050" /> <img width="290" height="867" alt="image" src="https://github.com/user-attachments/assets/815b1df6-dfd4-437a-a2bd-e9b61832d5b0" />When making the POST request to the /customers/search endpoint, only return appointments that belong to the provider sending the request. This way, the provider does not have access to the random hash and cannot perform the takeover.
alextselegidis/easyappointments = 1.5.2Refer to the advisory for the patched release.
Connected by shared product, vendor, weakness, or advisory.
CVE-2026-52837MediumEasy!Appointments has unauthenticated customer PII disclosure on booking reschedule page
CVE-2026-52840Low· 2.7Easy!Appointments has server-side request forgery in CalDAV connection test that exposes the deployment's internal network
CVE-2026-52839Low· 3.3Easy!Appointments appointments/store and appointments/update allow cross-provider appointment injection — Authorization Bypass
CVE-2026-52841Low· 3.1Easy!Appointments: Authorization bypass in Google OAuth provider binding lets any backend user rebind a peer provider's Google sync
CVE-2026-52838Low· 2.6Easy!Appointments disable_booking_message rendered as raw HTML on public booking page — Stored XSS
CVE-2021-25122High· 7.5When responding to new h2c connection requests, Apache Tomcat versions 10.0.0-M1 to 10.0.0, 9.0.0.M1 to 9.0.41 and 8.5.0 to 8.5.61 could duplicate request headers and a limited amount of request body from one request to another meaning u…