Exposure of Private Personal Information to an Unauthorized Actor in alextselegidis/easyappointments
Critical severity
GitHub Reviewed
Published
Mar 10, 2022
to the GitHub Advisory Database
•
Updated Feb 3, 2023
Description
Published by the National Vulnerability Database
Mar 9, 2022
Published to the GitHub Advisory Database
Mar 10, 2022
Reviewed
Mar 10, 2022
Last updated
Feb 3, 2023
The software is a booking management system that has a public form to place bookings, and a private area for the calendar and management of services, users, settings, etc. There is a backend API that allows data manipulation, including listing the appointments for a specific time range. This happens on this endpoint: /index.php/backend_api/ajax_get_calendar_events Unfortunately, there is no authentication / permissions-check on that endpoint, the only required parameters in a POST request are "startDate", "endDate" and "csrfToken". Because the csrfToken can be obtained by any unauthenticated user just visiting the public form (and is valid for the backend as well), any attacker can query the backend API and obtain all sorts of private information about the appointment, in JSON format.
References