CVE-2026-52839: Easy!Appointments appointments/store and appointments/update allow cross-provider appointment injection — Authorization Bypass
Easy!Appointments correctly filters provider-scoped appointments in the appointments/search response, proving that provider isolation is an intended security boundary. However, the direct mutation endpoints appointments/store and appointments/update only check generic appointment privileges and never verify that the submitted id_users_provider belongs to the current session.
A normal authenticated provider can inject new appointments into another provider’s schedule via store, or reassign existing appointments into a foreign provider’s calendar via update. The store path contains an additional write-before-crash bug: the unauthorized row is committed to the database before the controller crashes on a type error, so the attacker receives an error response while the foreign appointment is already persisted.
References
- github.com/advisories/GHSA-w8xc-8g92-v77h
- github.com/alextselegidis/easyappointments/commit/725eafa647308846ce887657db12771a829e42ef
- github.com/alextselegidis/easyappointments/releases/tag/1.6.0
- github.com/alextselegidis/easyappointments/security/advisories/GHSA-w8xc-8g92-v77h
- nvd.nist.gov/vuln/detail/CVE-2026-52839
Code Behaviors & Features
Detect and mitigate CVE-2026-52839 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Dependency Scanning using SBOM also detects vulnerabilities from proprietary advisories that this site does not include. Learn more about Dependency Scanning using SBOM →