CVE-2026-52837

Easy!Appointments has unauthenticated customer PII disclosure on booking reschedule page

Published Jul 14, 2026 CVSS 4.0 · 6.9 Medium EPSS < 1% KEV · Not listed
Description
Easy!Appointments is a self hosted appointment scheduler. In versions up to and including 1.5.2, the booking reschedule view at `/index.php/booking/reschedule/{appointment_hash}` (handled by `Booking::index()`) embeds the entire customer record as inline JavaScript (`const vars = {... "customer_data": {...}, ...}`) without authentication and without field whitelisting. Anyone in possession of the 12-character `appointment_hash` — which appears in plain text in reschedule emails, confirmation page URLs, and operator-side calendar links — can read every column of that customer's row in the `ea_users` table. Version 1.6.0 contains a patch.

Analysis

AI-generated

Technical impact

The root cause of this vulnerability is that Easy!Appointments allows an unauthenticated user to access the booking reschedule page and the application injects the entire customer record into the page as inline JavaScript without performing any authentication or field whitelisting, exposing every column in the ea_users table. This flaw is an example of information disclosure (CWE‑200) and a form of privilege escalation where a known identifier (the 12‑character appointment_hash) can be used to bypass authentication checks (CWE‑639). Consequently, any data stored for that customer, including highly sensitive personal information, can be read by anyone who obtains the hash.

Affected Systems

The affected product is Easy!Appointments from the vendor alextselegidis. All releases up to and including version 1.5.2 are vulnerable. The vendor released a patch in version 1.6.0 that removes unauthenticated exposure on the booking reschedule endpoint.

Risk and Exploitability

The CVSS score of 6.9 classifies the flaw as medium severity, while an EPSS score of less than 1% indicates a low probability of exploitation at present. The vulnerability is not listed in the CISA KEV catalog. Based on the description, the likely attack vector is possession of a valid 12‑character appointment_hash, which is embedded in reschedule emails, confirmation page URLs, and operator‑side calendar links. An attacker only needs this hash to read the full customer record; no credentials or elevated privileges are required.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade Easy!Appointments to version 1.6.0 or later to apply the vendor patch that removes unauthenticated exposure of customer data on the reschedule endpoint.
  • Restrict access to URLs containing the appointment_hash by serving them over HTTPS and enforcing authentication checks in the booking reschedule handler so that only authorized users can retrieve customer data.
  • Monitor web server logs for requests to "/index.php/booking/reschedule/" and investigate any unauthorized use of appointment_hashes, ensuring that no PII has been exposed.

Generated by OpenCVE AI on July 31, 2026 at 10:22 UTC.

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
Github GHSA Github GHSA GHSA-xgr6-pqjv-3pf8 Easy!Appointments has unauthenticated customer PII disclosure on booking reschedule page
History
Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}

Type Values Removed Values Added
First Time appeared Alextselegidis
Alextselegidis easyappointments
Vendors & Products Alextselegidis
Alextselegidis easyappointments
Type Values Removed Values Added
Description Easy!Appointments is a self hosted appointment scheduler. In versions up to and including 1.5.2, the booking reschedule view at `/index.php/booking/reschedule/{appointment_hash}` (handled by `Booking::index()`) embeds the entire customer record as inline JavaScript (`const vars = {... "customer_data": {...}, ...}`) without authentication and without field whitelisting. Anyone in possession of the 12-character `appointment_hash` — which appears in plain text in reschedule emails, confirmation page URLs, and operator-side calendar links — can read every column of that customer's row in the `ea_users` table. Version 1.6.0 contains a patch.
Title Easy!Appointments has unauthenticated customer PII disclosure on booking reschedule page
Weaknesses CWE-200
CWE-639
References
Metrics cvssV4_0

{'score': 6.9, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N'}

Weaknesses
  • CWE-200

    Exposure of Sensitive Information to an Unauthorized Actor

  • CWE-639

    Authorization Bypass Through User-Controlled Key

Sources

Status
PUBLISHED
Assigner
GitHub_M
Published
Updated
Jul 29, 2026, 4:28 PM
Reserved
Jun 8, 2026, 6:41 PM
Status
Deferred
Published
Jul 14, 2026, 3:17 PM
Modified
Oct 24, 2026, 9:10 PM