Vulnerability Description
Easy!Appointments is a self hosted appointment scheduler. In versions prior to 1.6.0, `Caldav::connect_to_server` at `application/controllers/Caldav.php:60` hands the request's `caldav_url` to a Guzzle `REPORT` call without scheme or host validation. A logged-in backend user (admin, provider, or secretary) reaches loopback, RFC1918, and link-local hosts on the deployment's network. The Guzzle exception path returns the upstream status code plus ~120 bytes of response body in the JSON `message` field (`Caldav.php:74-78`), so the SSRF is semi-blind. Version 1.6.0 contains a patch.
CVSS Score
LOW
Related Weaknesses (CWE)
References
- https://github.com/alextselegidis/easyappointments/commit/6eb9336a91cfb276379506
- https://github.com/alextselegidis/easyappointments/security/advisories/GHSA-pm5p
- https://github.com/alextselegidis/easyappointments/security/advisories/GHSA-pm5p
FAQ
What is CVE-2026-52840?
CVE-2026-52840 is a vulnerability with a CVSS score of 2.7 (LOW). Easy!Appointments is a self hosted appointment scheduler. In versions prior to 1.6.0, `Caldav::connect_to_server` at `application/controllers/Caldav.php:60` hands the request's `caldav_url` to a Guzzl...
How severe is CVE-2026-52840?
CVE-2026-52840 has been rated LOW with a CVSS base score of 2.7/10. Review the CVSS metrics above for detailed severity breakdown.
Is there a patch for CVE-2026-52840?
Check the references section above for vendor advisories and patch information. Review vendor security bulletins for remediation guidance.