Approved changes feed: RSS · Atom

cpe:2.3:a:alextselegidis:easyappointments:*:*:*:*:*:*:*:*

part: a version: * update: *

VendorAlextselegidis (d21aaa92-af47-5651-b0cc-18723175ff67)
ProductEasyappointments (fd172e79-0034-52a7-b5ab-f4dc31683e22)
Edition*
Language*
Software edition*
Target software*
Target hardware*
Other*
NotesImported from purl2cpe mapping

PURL mappings

PURLSourceLast updated
pkg:composer/alextselegidis/easyappointments purl2cpe 2026-06-01 10:12:41.643801
pkg:github/alextselegidis/easyappointments purl2cpe 2026-06-01 10:12:41.643803

Vulnerability references

IdentifiercpeApplicabilitySubmitteddb.gcve.eu detailsRationale
CVE:CVE-2026-55651 vulnerable 2026-07-29 01:00:28.543004 Easy!Appointments Vulnerable to Appointments Takeover via Excessive Data Exposure
HIGH (7.1)
Easy!Appointments is a self hosted appointment scheduler. In version 1.5.2, an Excessive Data Exposure vulnerability in the customers search endpoint allows an authenticated user to obtain appointment hashes belonging to other users. Using these hashes, an attacker can modify or delete appointments of other providers, resulting in an Appointments Takeover. Version 1.6.0 fixes the issue.
Published: 2026-07-14T15:31:51.028Z
Updated: 2026-07-14T16:00:49.009Z
Reference links
Imported from gcve-enriched-dumps CVE data
CVE:CVE-2026-52841 vulnerable 2026-07-29 00:57:48.976793 Easy!Appointments: Authorization bypass in Google OAuth provider binding lets any backend user rebind a peer provider's Google sync
LOW (3.1)
Easy!Appointments is a self hosted appointment scheduler. In versions prior to 1.6.0, `Google::oauth` at `application/controllers/Google.php:278` stores its URL-supplied `provider_id` in the session, and `oauth_callback` saves the issued Google OAuth token against that row without checking the caller owns the provider. Any logged-in backend user (admin, provider, or secretary) rebinds a peer provider's Google sync to a Google account they control. The peer's appointments then sync into the attacker's calendar with each customer's name and email attached as attendee data. Version 1.6.0 patches the issue.
Published: 2026-07-14T15:27:50.367Z
Updated: 2026-07-14T15:45:45.967Z
Reference links
Imported from gcve-enriched-dumps CVE data
CVE:CVE-2026-52840 vulnerable 2026-07-29 00:57:48.976560 Easy!Appointments has server-side request forgery in CalDAV connection test that exposes the deployment's internal network
LOW (2.7)
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.
Published: 2026-07-14T15:23:59.992Z
Updated: 2026-07-15T13:53:09.948Z
Reference links
Imported from gcve-enriched-dumps CVE data
CVE:CVE-2026-52839 vulnerable 2026-07-29 00:57:48.976448 Easy!Appointments appointments/store and appointments/update allow cross-provider appointment injection — Authorization Bypass
LOW (3.3)
Easy!Appointments is a self hosted appointment scheduler. Versions prior to 1.6.0 correctly filter 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. Version 1.6.0 patches the issue.
Published: 2026-07-14T15:21:23.199Z
Updated: 2026-07-29T16:25:59.689Z
Reference links
Imported from gcve-enriched-dumps CVE data
CVE:CVE-2026-52838 vulnerable 2026-07-29 00:57:48.976316 Easy!Appointments disable_booking_message rendered as raw HTML on public booking page — Stored XSS
LOW (2.6)
Easy!Appointments is a self hosted appointment scheduler. Versions prior to 1.6.0 allow administrators to define a custom "booking disabled" message through the booking settings page. That value is stored in the `disable_booking_message` setting via a rich-text editor and later passed directly to the public `booking_message` view without escaping or sanitization. An authenticated administrator can store HTML or JavaScript in this field, enable disabled-booking mode, and trigger stored XSS in every unauthenticated visitor who opens the public booking page. Version 1.6.0 fixes the issue.
Published: 2026-07-14T15:07:43.865Z
Updated: 2026-07-14T16:26:53.608Z
Reference links
Imported from gcve-enriched-dumps CVE data
CVE:CVE-2026-52837 vulnerable 2026-07-29 00:57:48.976108 db.gcve.eu details were skipped to keep the page responsive. Imported from gcve-enriched-dumps CVE data
CVE:CVE-2026-23622 vulnerable 2026-06-08 07:51:15.682196 db.gcve.eu details were skipped to keep the page responsive. Imported from gcve-enriched-dumps CVE data
CVE:CVE-2023-3568 vulnerable 2026-06-08 06:09:39.865242 db.gcve.eu details were skipped to keep the page responsive. Imported from gcve-enriched-dumps CVE data
CVE:CVE-2023-3290 vulnerable 2026-06-08 06:09:39.077486 db.gcve.eu details were skipped to keep the page responsive. Imported from gcve-enriched-dumps CVE data
CVE:CVE-2023-3285 vulnerable 2026-06-08 06:09:39.073458 db.gcve.eu details were skipped to keep the page responsive. Imported from gcve-enriched-dumps CVE data
CVE:CVE-2023-38054 vulnerable 2026-06-08 06:08:16.824525 db.gcve.eu details were skipped to keep the page responsive. Imported from gcve-enriched-dumps CVE data
CVE:CVE-2023-38049 vulnerable 2026-06-08 06:08:16.820691 db.gcve.eu details were skipped to keep the page responsive. Imported from gcve-enriched-dumps CVE data

Contribute

You can submit an edit proposal for this CPE entry or suggest a related product/vendor addition using the action button above.