Online Scheduling and Appointment Booking System – Bookly <= 27.7 - Authenticated (Staff+) Insecure Direct Object Reference to Sensitive Information Exposure via 'params[id]' Parameter
Summary
| CVE | CVE-2026-12905 |
|---|---|
| State | PUBLISHED |
| Assigner | Wordfence |
| Source Priority | CVE Program / NVD first with legacy fallback |
| Published | 2026-08-16 05:16:45 UTC |
| Updated | 2026-08-16 05:16:45 UTC |
| Description | The Bookly plugin for WordPress is vulnerable to Insecure Direct Object Reference in versions up to, and including, 27.7 via the appointment() method of the Mobile Staff Cabinet API (resource=appointment, action=bookly_mobile_staff_cabinet) in frontend/modules/mobile_staff_cabinet/api/handlers/Handler1_0.php. This is due to the handler loading an Appointment by the attacker-supplied params[id] without verifying that the appointment's staff_id matches the authenticated staff member, whereas sibling operations (deleteAppointment, saveAppointment, appointments list) correctly scope to $this->staff->getId() when $this->role === ROLE_STAFF. This makes it possible for authenticated attackers, with staff-level mobile cabinet access (any valid access_key token bound to a Staff entity), to read appointment details — including the internal note and the full customer_appointments collection (customer full_name, email, phone, notes, custom_fields, extras, payment_total, payment_type, payment_status) — belonging to other staff members by enumerating sequential appointment IDs. |
Risk And Classification
Primary CVSS: v3.1 4.3 MEDIUM from [email protected]
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
Problem Types: CWE-639 | CWE-639 CWE-639 Authorization Bypass Through User-Controlled Key
| Version | Source | Type | Score | Severity | Vector |
|---|---|---|---|---|---|
| 3.1 | [email protected] | Primary | 4.3 | MEDIUM | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N |
| 3.1 | CNA | DECLARED | 4.3 | MEDIUM | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N |
CVSS v3.1 Breakdown
Attack Vector
NetworkAttack Complexity
LowPrivileges Required
LowUser Interaction
NoneScope
UnchangedConfidentiality
LowIntegrity
NoneAvailability
NoneCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
Vendor Declared Affected Products
| Source | Vendor | Product | Version | Platforms |
|---|---|---|---|---|
| CNA | Ladela | Online Scheduling And Appointment Booking System Bookly | affected 27.7 semver | Not specified |
References
| Reference | Source | Link | Tags |
|---|---|---|---|
| plugins.trac.wordpress.org/browser/bookly-responsive-appointment-booking-tool/tags/27.7/... | [email protected] | plugins.trac.wordpress.org | |
| plugins.trac.wordpress.org/browser/bookly-responsive-appointment-booking-tool/tags/24.9/... | [email protected] | plugins.trac.wordpress.org | |
| plugins.trac.wordpress.org/browser/bookly-responsive-appointment-booking-tool/tags/27.7/... | [email protected] | plugins.trac.wordpress.org | |
| plugins.trac.wordpress.org/browser/bookly-responsive-appointment-booking-tool/tags/24.9/... | [email protected] | plugins.trac.wordpress.org | |
| plugins.trac.wordpress.org/browser/bookly-responsive-appointment-booking-tool/tags/27.7/... | [email protected] | plugins.trac.wordpress.org | |
| plugins.trac.wordpress.org/changeset | [email protected] | plugins.trac.wordpress.org | |
| plugins.trac.wordpress.org/browser/bookly-responsive-appointment-booking-tool/tags/24.9/... | [email protected] | plugins.trac.wordpress.org | |
| www.wordfence.com/threat-intel/vulnerabilities/id/1600466e-ad45-4dc7-916b-6c973... | [email protected] | www.wordfence.com | |
| CVE Program record | CVE.ORG | www.cve.org | canonical |
| NVD vulnerability detail | NVD | nvd.nist.gov | canonical, analysis |
Vendor Comments And Credit
Discovery Credit
CNA: Raihan Adi Arba (en)
Additional Advisory Data
| Source | Time | Event |
|---|---|---|
| CNA | 2026-06-23T13:31:20.000Z | Vendor Notified |
| CNA | 2026-08-15T00:00:00.000Z | Disclosed |
There are currently no legacy QID mappings associated with this CVE.