Skip to main content

Easy!Appointments CVE-2026-52840

| EUVDEUVD-2026-43722 LOW
Server-Side Request Forgery (SSRF) (CWE-918)
2026-07-14 GitHub_M GHSA-pm5p-7w5h-jm5q
2.7
CVSS 3.1 · Vendor: GitHub_M

Severity by source

Vendor (GitHub_M) PRIMARY
2.7 LOW
AV:N/AC:L/PR:H/UI:N/S:U/C:L/I:N/A:N
vuln.today AI
2.7 LOW

PR:H reflects mandatory backend authentication; C:L reflects partial ~120-byte semi-blind response leakage; no integrity or availability impact applies.

3.1 AV:N/AC:L/PR:H/UI:N/S:U/C:L/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:H/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
High
User Interaction
None
Scope
Unchanged
Confidentiality
Low
Integrity
None
Availability
None

Lifecycle Timeline

3
Patch available
Jul 14, 2026 - 18:20 EUVD
Source Code Evidence Fetched
Jul 14, 2026 - 16:13 vuln.today
Analysis Generated
Jul 14, 2026 - 16:13 vuln.today

DescriptionCVE.org

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.

AnalysisAI

Server-side request forgery in Easy!Appointments prior to 1.6.0 allows authenticated backend users - admins, providers, or secretaries - to probe internal network hosts by supplying arbitrary URLs to the CalDAV synchronization endpoint. The Guzzle HTTP client in Caldav.php:60 forwards a REPORT request to the caller-supplied caldav_url without validating the scheme or destination host, enabling access to loopback, RFC1918, and link-local addresses on the deployment network. The SSRF is semi-blind, returning up to approximately 120 bytes of upstream response body through the exception path; no public exploit has been identified, exploitation requires an active backend account, and version 1.6.0 resolves the issue.

Technical ContextAI

Easy!Appointments is a self-hosted PHP appointment scheduling application built on CodeIgniter. The vulnerable code resides in the CalDAV integration controller at application/controllers/Caldav.php, where connect_to_server passes the raw caller-supplied caldav_url parameter to the Guzzle HTTP client for a REPORT call at line 60. No scheme allowlist or host validation is applied before the request is dispatched, satisfying CWE-918 (Server-Side Request Forgery). The Guzzle exception handler at lines 74-78 echoes the upstream HTTP status code plus approximately 120 bytes of the response body back to the caller within a JSON message field, making this a semi-blind rather than fully blind SSRF. The affected CPE cpe:2.3:a:alextselegidis:easyappointments:*:*:*:*:*:*:*:* covers all versions prior to 1.6.0. The patch in commit 6eb9336a moved SSRF host validation into the Caldav_sync library itself, enabled by default, and removed the previously configurable Config::ENABLE_CALDAV_SSRF_CHECK toggle from config-sample.php.

RemediationAI

Upgrade Easy!Appointments to version 1.6.0, which introduces SSRF host validation directly within the Caldav_sync library with validation enabled by default. The fix is documented in commit 6eb9336a91cfb276379506625e81f5bd9ed3a536 at https://github.com/alextselegidis/easyappointments/commit/6eb9336a91cfb276379506625e81f5bd9ed3a536 and the security advisory at https://github.com/alextselegidis/easyappointments/security/advisories/GHSA-pm5p-7w5h-jm5q. If an immediate upgrade is not feasible, implement network egress filtering on the application server to block outbound connections to RFC1918 ranges (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16), loopback (127.0.0.0/8), and link-local (169.254.0.0/16) addresses; this eliminates the internal network reach of the SSRF at the infrastructure layer without modifying application code, though it does not prevent SSRF against external targets. Additionally, enforce the principle of least privilege by auditing backend user accounts and removing secretary or provider accounts that do not require CalDAV access.

More in PHP

View all
CVE-2019-11043 CRITICAL POC
9.8 Oct 28

In PHP versions 7.1.x below 7.1.33, 7.2.x below 7.2.24 and 7.3.x below 7.3.11 in certain configurations of FPM setup it

CVE-2012-1823 CRITICAL POC
9.8 May 11

sapi/cgi/cgi_main.c in PHP before 5.3.12 and 5.4.x before 5.4.2, when configured as a CGI script (aka php-cgi), does not

CVE-2016-1555 CRITICAL POC
9.8 Apr 21

(1) boardData102.php, (2) boardData103.php, (3) boardDataJP.php, (4) boardDataNA.php, and (5) boardDataWW.php in Netgear

CVE-2018-11138 CRITICAL POC
9.8 May 31

The '/common/download_agent_installer.php' script in the Quest KACE System Management Appliance 8.0.318 is accessible by

CVE-2024-11680 CRITICAL POC
9.8 Nov 26

ProjectSend versions prior to r1720 are affected by an improper authentication vulnerability. Rated critical severity (C

CVE-2025-49113 CRITICAL POC
9.9 Jun 02

Roundcube Webmail contains a critical PHP object deserialization vulnerability (CVE-2025-49113, CVSS 9.9) that allows au

CVE-2017-9841 CRITICAL POC
9.8 Jun 27

Util/PHP/eval-stdin.php in PHPUnit before 4.8.28 and 5.x before 5.6.3 allows remote attackers to execute arbitrary PHP c

CVE-2025-0108 HIGH POC
8.8 Feb 12

Palo Alto Networks PAN-OS management web interface contains an authentication bypass allowing unauthenticated attackers

CVE-2021-25298 HIGH POC
8.8 Feb 15

Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re

CVE-2021-25296 HIGH POC
8.8 Feb 15

Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re

CVE-2013-4983 CRITICAL POC
10.0 Sep 10

The get_referers function in /opt/ws/bin/sblistpack in Sophos Web Appliance before 3.7.9.1 and 3.8 before 3.8.1.1 allows

CVE-2023-6553 CRITICAL POC
9.8 Dec 15

The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1

Share

CVE-2026-52840 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy