Vulnerability · Published Jul 14, 2026 · Assigned by GitHub_M
CVE-2026-52840Easy!Appointments has server-side request forgery in CalDAV connection test that exposes the deployment's internal network
Low 2.7
In plain English
A low-severity server-side request forgery in easyappointments from alextselegidis. Proof-of-concept exploit code is public. The chance it is exploited in the next 30 days is estimated at 0.2% (higher than 14% of all known vulnerabilities).
Official 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.
Affected packages & fixed versions
| Ecosystem | Package | Fixed in | Advisory |
|---|---|---|---|
| Packagist | alextselegidis/easyappointments | no fix listed | GHSA-pm5p-7w5h-jm5q |
Affected products (as reported)
| Vendor | Product | Versions |
|---|---|---|
| alextselegidis | easyappointments | < 1.6.0 |
Weakness: CWE-918 · Vector: CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:L/I:N/A:N