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.
Published: 2026-07-14
Score: 6.9 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

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.

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

Remediation

No vendor fix or workaround currently provided.

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

Wed, 29 Jul 2026 16:45:00 +0000


Tue, 21 Jul 2026 19:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

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


Tue, 14 Jul 2026 17:00:00 +0000

Type Values Removed Values Added
First Time appeared Alextselegidis
Alextselegidis easyappointments
Vendors & Products Alextselegidis
Alextselegidis easyappointments

Tue, 14 Jul 2026 15:45:00 +0000


Tue, 14 Jul 2026 15:15:00 +0000

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'}


Subscriptions

Alextselegidis Easyappointments
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-07-29T16:28:13.175Z

Reserved: 2026-06-08T18:41:27.723Z

Link: CVE-2026-52837

cve-icon Vulnrichment

Updated: 2026-07-21T18:44:58.345Z

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-07-31T10:30:17Z

Weaknesses
  • CWE-200

    Exposure of Sensitive Information to an Unauthorized Actor

  • CWE-639

    Authorization Bypass Through User-Controlled Key