CVE-2026-52840 Easy!Appointments has server-side request forgery in CalDAV connection test that exposes the deployment's internal network
A logged-in user can exploit a CalDAV connection test to perform server-side request forgery, accessing internal network resources and reading response data.
- Exploited in the wild
- Not known
- Login needed
- An administrator
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- None listed
What is CVE-2026-52840?
CVE-2026-52840 is a low-severity server-side request forgery vulnerability in alextselegidis easyappointments, published on 14 Jul 2026. An attacker needs administrator access to exploit it, with no action from the victim.
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.
Weakness: CWE-918
Which versions are affected by CVE-2026-52840?
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-52840?
No fix has been published for CVE-2026-52840 yet. Limit exposure of the affected software until one is available.
Upgrade, and send outbound requests through an allow-list that blocks internal addresses. More about Server-side request forgery.
Is CVE-2026-52840 being exploited?
It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-52840 exists.
Sources
Also known as GHSA-pm5p-7w5h-jm5q.