# CVE-2026-52838: Easy!Appointments stored XSS in booking disabled message

Source: https://junglewise.ai/threats/cve-2026-52838-easy-appointments-stored-xss-in-booking-disabled-message  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-07-14. Updated: 2026-07-29  
License: CC BY 4.0 with a link back

CVE-2026-52838 · Severity: low · CVSS 3.1 · Published 2026-07-14

Easy!Appointments, an open-source appointment scheduling system, contains a security vulnerability that allows administrators to inject malicious scripts into the public booking page. By setting a custom 'booking disabled' message, an authorized user can execute code in the browsers of any unauthenticated visitor who views the page during maintenance. This could lead to website defacement, phishing of customer information, or unauthorized redirection to malicious websites.

Technologies: [alextselegidis/easyappointments (Packagist)](https://junglewise.ai/threats/technologies/alextselegidis-easyappointments). Vendors: [Packagist](https://junglewise.ai/threats/vendors/packagist).

## Quick answers

**Is CVE-2026-52838 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-52838 being exploited in the wild.

**How severe is CVE-2026-52838?** Low severity, with a CVSS score of 3.1, published 14 July 2026.

**Which products and versions are affected?** alextselegidis/easyappointments (Packagist) <= 1.5.2, ECOSYSTEM:introduced=0,last_affected=1.5.2.

**Is there a fix for CVE-2026-52838?** A patch was published on 2026-06-15: Version 1.6.0 released Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-52838 attacked?** It is attacked over the network, in a web application.

**Am I affected by CVE-2026-52838?** Check whether you run alextselegidis/easyappointments (Packagist) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## Technical details

A stored Cross-Site Scripting (XSS) vulnerability exists in Easy!Appointments versions 1.5.2 and earlier. The root cause is the lack of sanitization and output escaping for the 'disable_booking_message' configuration value. An authenticated administrator can submit raw HTML/JavaScript through the booking settings rich-text editor, which is persisted verbatim in the database. When the booking system is disabled, the 'Booking' controller retrieves this value and the 'booking_message' view renders it using the PHP short echo tag (<?=) without calling htmlspecialchars() or an equivalent escaping function. This allows for arbitrary script execution in the context of unauthenticated visitors. The issue is addressed in version 1.6.0.

## Affected products

- alextselegidis Easy!Appointments <= 1.5.2

## Identifiers

- CVE-2026-52838
- GHSA-996f-334j-67g7

## Timeline

- 2026-05-25: disclosed: Vulnerability reported by Yash Shendge (ashrexon)
- 2026-06-15: patched: Version 1.6.0 released
- 2026-07-14: advisory: NVD publication date
- 2026-07-29: advisory: GitHub Advisory published

## References

- [https://api.github.com/users/ashrexon](https://api.github.com/users/ashrexon)
- [https://github.com/ashrexon](https://github.com/ashrexon)
- [https://api.github.com/users/ashrexon/gists%7B/gist_id%7D](https://api.github.com/users/ashrexon/gists%7B/gist_id%7D)
- [https://api.github.com/users/ashrexon/repos](https://api.github.com/users/ashrexon/repos)
- [https://avatars.githubusercontent.com/u/75063323?v=4](https://avatars.githubusercontent.com/u/75063323?v=4)
- [https://api.github.com/users/ashrexon/events%7B/privacy%7D](https://api.github.com/users/ashrexon/events%7B/privacy%7D)

## Related threats

- [Easy!Appointments excessive data exposure in customer search](https://junglewise.ai/threats/cve-2026-55651-easy-appointments-excessive-data-exposure-in-customer-search)
- [Easy!Appointments authorization bypass in Google OAuth provider binding](https://junglewise.ai/threats/cve-2026-52841-easy-appointments-authorization-bypass-in-google-oauth-provider)
- [alextselegidis Easy!Appointments SSRF in CalDAV connection test](https://junglewise.ai/threats/cve-2026-52840-alextselegidis-easy-appointments-ssrf-in-caldav-connection-test)
- [Easy!Appointments authorization bypass in appointment store and update](https://junglewise.ai/threats/cve-2026-52839-easy-appointments-authorization-bypass-in-appointment-store-and)
- [alextselegidis Easy!Appointments information disclosure in reschedule view](https://junglewise.ai/threats/cve-2026-52837-alextselegidis-easy-appointments-information-disclosure-in)
