CVE-2026-52837
MediumCVSS 6.9Exploitation Probability (EPSS)
Low risk28th percentile - higher than 28% of all known CVEs
Summary
Easy!Appointments up to version 1.5.2 embeds the entire customer record as inline JavaScript on the reschedule page without authentication or field whitelisting. Anyone with the 12-character appointment hash can read all columns of the customer record from the ea_users table.
Risk Assessment
Risk of leakage of sensitive customer data, including personal information, via access to the appointment hash.
Recommendation
Upgrade Easy!Appointments to version 1.6.0 or later.
Other vulnerabilities in Easy!Appointments
See all- CVE-2026-61946Medium
The Easy Appointments plugin versions 3.12.27 and earlier are vulnerable to unauthenticated Insecure Direct Object References (IDOR).
- CVE-2026-55651High
In Easy!Appointments version 1.5.2, an Excessive Data Exposure vulnerability in the customers search endpoint allows an authenticated user to obtain appointment hashes belonging to other users.
- CVE-2026-52841Low
A vulnerability in Easy!Appointments prior to version 1.6.0 allows any logged-in backend user (admin, provider, secretary) to hijack another provider's Google sync. The attacker can replace the OAuth token, causing customer data (name, email) to be sent to their own Google calendar.
- CVE-2026-52838Low
A stored XSS vulnerability in Easy!Appointments allows an administrator to inject malicious HTML/JavaScript into the booking disabled message field. This content is displayed unsanitized on the public booking page, affecting every unauthenticated visitor.
- CVE-2026-14225Low
A vulnerability in the Easy Appointments WordPress plugin before 3.12.28 incorrectly validates shortcode input, allowing contributor-level users to execute arbitrary registered shortcodes.
- CVE-2026-14226Medium
The Easy Appointments WordPress plugin before 3.12.28 does not require a sufficient capability on one of its appointment-listing REST endpoints, restricting it only to a capability that every authenticated user holds, allowing users with subscriber-level access to read all bookings on the site, including customer names, schedules, and statuses.
- CVE-2026-14223Medium
The Easy Appointments WordPress plugin before 3.12.28 does not verify ownership or capability when returning stored customer details, allowing users with subscriber-level access to read any customer's personal information by iterating an identifier.
- CVE-2026-14222Low
A vulnerability in the Easy Appointments WordPress plugin before 3.12.28 lacks capability and nonce checks in a connection-deletion action, allowing contributor-level users to delete booking configuration and disable the booking system.
- CVE-2026-14221Low
A vulnerability in the Easy Appointments WordPress plugin through 4.0 lacks capability checks in appointment-management actions, relying only on a nonce, allowing contributor-level users to read all customers' appointment details and to create, modify, and delete bookings.
- CVE-2026-14188Low
A vulnerability in the Easy Appointments WordPress plugin before 3.12.28 lacks per-request capability and nonce checks on a customer-listing handler, allowing authenticated contributor-level users to read all stored customers' personal information.
Original NVD description (English source)
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.

