CVE-2026-52838 Easy!Appointments disable_booking_message rendered as raw HTML on public booking page — Stored XSS
An authenticated administrator can inject malicious scripts into the disabled booking message, leading to stored XSS for all visitors on the public booking page.
- Exploited in the wild
- Not known
- Login needed
- An administrator
- Attackable
- Over the internet
- Victim action needed
- A user has to click or open something
- Fix
- None listed
What is CVE-2026-52838?
CVE-2026-52838 is a low-severity cross-site scripting vulnerability in alextselegidis easyappointments, published on 14 Jul 2026. An attacker needs administrator access to exploit it, and only if a user opens a file or follows a link.
Official description
Easy!Appointments is a self hosted appointment scheduler. Versions prior to 1.6.0 allow administrators to define a custom "booking disabled" message through the booking settings page. That value is stored in the `disable_booking_message` setting via a rich-text editor and later passed directly to the public `booking_message` view without escaping or sanitization. An authenticated administrator can store HTML or JavaScript in this field, enable disabled-booking mode, and trigger stored XSS in every unauthenticated visitor who opens the public booking page. Version 1.6.0 fixes the issue.
Weakness: CWE-79
Which versions are affected by CVE-2026-52838?
2 open source packages ship an affected version, including alextselegidis/easyappointments.
| Package | Affected | Fixed in |
|---|---|---|
alextselegidis/easyappointments Packagist | All versions to 1.5.2 | None |
alextselegidis/easyappointments Packagist | All versions to 1.5.2 | None |
How do I fix CVE-2026-52838?
No fix has been published for CVE-2026-52838 yet. Limit exposure of the affected software until one is available.
Escape output for the context it lands in and set a strict Content Security Policy. Upgrading the affected component is the real fix. More about Cross-site scripting.
Is CVE-2026-52838 being exploited?
It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-52838 exists.
Sources
Also known as GHSA-996f-334j-67g7.