Junglewise Threat Intelligence

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

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

Technologies: alextselegidis/easyappointments (Packagist), Alextselegidis Easy Appointments. Vendors: Packagist.

Executive brief

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.

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

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

Related threats