Skip to main content

Bookly EUVDEUVD-2026-96035

| CVE-2026-104898 MEDIUM
Authorization Bypass Through User-Controlled Key (CWE-639)
2026-10-10 Wordfence GHSA-688p-jfpg-cv62
6.8
CVSS 3.1 · Vendor: Wordfence
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Register/authenticate as subscriber linked to a staff record
  2. Delivery
    Send crafted AJAX request altering id/wp_user_id
  3. Exploit
    Overwrite admin Bookly staff account binding
  4. Execution
    Hijack administrator account association
  5. Impact
    Escalate to administrator privileges

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Object-level authorization, IDOR prevention
Exploitation Conditions

Requires an authenticated WordPress account with subscriber-level access or above (PR:L), and the attacking user must be linked to at least one Bookly staff record. That linkage occurs by default when an admin enables the bookly_gen_allow_staff_edit_profile option, which is active on fresh Bookly installs. Exploitation targets the staff-edit AJAX endpoint via the user-controlled 'id'/'wp_user_id' parameters. Limiting factors: the site must run Bookly ≤28.4, the attacker must obtain a subscriber account (so sites disabling open registration raise the bar), and the staff-edit-profile option/staff-record linkage must be present - environments that disabled this option or never linked WP users to staff entries are not exposed. No user interaction is required (UI:N).

Impact

This is a genuine but conditionally-gated privilege-escalation issue rather than a drop-everything emergency. The CVSS 3.1 vector (AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:N, 6.8 Medium) tells a coherent story: network-reachable, but with high attack complexity and low-privilege (subscriber) authentication required, yielding high confidentiality and integrity impact via account hijacking. The AC:H rating is well-justified because exploitation is not universal - the attacker must already be linked to at least one Bookly staff record, which only holds when the bookly_gen_allow_staff_edit_profile option is enabled (notably, this is active on fresh installs). No EPSS score, KEV listing, or public POC was provided in the input, so there is no public exploit identified at time of analysis and no evidence of active exploitation. Signals are internally consistent (no CVSS-vs-description conflict): a network IDOR on a user-controlled key requiring a logged-in account. The practical priority is moderate - the impact (seizing an administrator's staff-account binding to escalate privileges) is serious, but the subscriber-account requirement plus the staff-record-linkage precondition meaningfully narrow the realistic attacker population compared to an unauthenticated flaw. Prioritize patching on sites that allow open user registration and run default Bookly staff-profile settings.

Exploit ScenarioDerived

On a WordPress site running Bookly (≤28.4) that permits self-registration and has the default staff-edit-profile option enabled, an attacker registers a subscriber account that becomes linked to a Bookly staff record. They then send a crafted AJAX request manipulating the 'id'/'wp_user_id' parameters to overwrite an administrator's Bookly staff record so it points at the attacker's WordPress user, hijacking the higher-privileged account association and escalating privileges. No public exploit code was identified in the provided data, and AC:H reflects the required staff-record linkage precondition.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
No patch listed yet 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 10, 2026

Privilege escalation in the Bookly WordPress plugin (versions up to and including 28.4) allows authenticated attackers with subscriber-level access to overwrite the WordPress user binding of any Bookly staff record, including those owned by administrators, by manipulating the 'id' and 'wp_user_id' parameters in the staff-edit AJAX endpoint. Exploitation requires the attacker to have a subscriber account and to be linked to at least one Bookly staff record, a condition present by default on fresh installs where the bookly_gen_allow_staff_edit_profile option is enabled. No public exploit code has been identified and CISA KEV does not list this vulnerability; the assessed CVSS is 6.8 with high attack complexity (AC:H) due to the prerequisite of a staff-linked subscriber account.

RemediationAI

Update the Bookly plugin to version 28.5 or later to obtain the vendor-released patch (confirmed by the Trac changeset from 28.4 to 28.5). If immediate patching is not possible, disable the bookly_gen_allow_staff_edit_profile option (which prevents staff members from editing their own profiles, a functional trade-off) and ensure that no WordPress user accounts are linked to Bookly staff records. Additionally, restrict user registration on the WordPress site to prevent attackers from obtaining the required subscriber-level account, as this raises the bar for exploitation. Note that the vulnerability requires the attacker to already have a subscriber account linked to a staff record, so sites with closed registration and no staff-user linkages are not exposed. For further details, refer to the Wordfence advisory at https://www.wordfence.com/threat-intel/vulnerabilities/id/1c3cfaa5-00e3-41b6-8f38-cebdd5dec180?source=cve.

Affected VersionsENISA

Online Scheduling and Appointment Booking System – Bookly 0 ≤28.4

Affected Packages

euvd online_scheduling_and_appointment_booking_system_bookly no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The vulnerability is a classic Insecure Direct Object Reference (IDOR), classified as CWE-639, in the Bookly appointment booking plugin for WordPress. The plugin's staff-edit AJAX endpoint (backend/components/dialogs/staff/edit/Ajax.php) fails to validate that the 'id' parameter (staff record ID) and 'wp_user_id' parameter (WordPress user ID to bind) belong to the requesting user or that the user has permission to modify them. The request handling in lib/base/Request.php and entity manipulation in lib/base/Entity.php allow an authenticated subscriber to update the wp_user_id field of arbitrary staff records. By changing this binding to their own user ID, an attacker can associate their low-privileged WordPress account with a high-privileged staff member's record, effectively hijacking that staff account's booking privileges. The affected product is identified by CPE cpe:2.3:a:ladela:online_scheduling_and_appointment_booking_system_-_bookly:*:*:*:*:*:*:*:* (all versions). The fix is included in version 28.5, as shown by the Trac changeset diff from 28.4 to 28.5.

Know when Online Scheduling And Appointment Booking System Bookly gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (Wordfence) PRIMARY 6.8 MEDIUM
AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:N
vuln.today AI 6.8 MEDIUM

Network IDOR but AC:H because the attacker must be linked to a Bookly staff record via a specific (default) option; PR:L for subscriber access; C/I:H from account hijack, A:N as no availability loss.

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

Primary rating from Vendor (Wordfence).

CVSS VectorVendor: Wordfence

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

DescriptionCVE.org

The Online Scheduling and Appointment Booking System - Bookly plugin for WordPress is vulnerable to Insecure Direct Object Reference in all versions up to, and including, 28.4 via the 'id, wp_user_id' parameter due to missing validation on a user controlled key. This makes it possible for authenticated attackers, with subscriber-level access and above, to overwrite the WordPress account binding of any Bookly staff record, including those owned by administrators, effectively hijacking a higher-privileged staff member's account association and escalating privileges. Exploitation requires the attacking user to be linked to at least one Bookly staff record, which occurs by default whenever an admin enables the bookly_gen_allow_staff_edit_profile option (active on fresh installs) and links a WordPress user to a staff entry.

Threat Intelligence Overview

EPSS Score
0.3%
Top 84% exploitable
Prevalence
Medium
popular WordPress appointment-booking plugin, common but not on every site
Data Quality
5 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.3%
Patch available No
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Total

Priority Score

34
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +34
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

CVE-2026-89063 HIGH POC
7.5 Sep 16

Unauthenticated attackers can read the complete AI booking conversation transcript of any Bookly customer — including na

CVE-2026-93399 CRITICAL
9.1 Sep 25

Unauthenticated attackers can exploit an insecure direct object reference in the Bookly appointment-booking plugin for W

CVE-2026-13424 HIGH
7.2 Aug 16

Stored cross-site scripting in the Bookly WordPress appointment booking plugin (versions up to and including 27.7) enabl

CVE-2026-12626 HIGH
7.2 Oct 10

PHP Object Injection in the Bookly (Online Scheduling and Appointment Booking System) WordPress plugin, affecting all ve

CVE-2026-5513 HIGH
7.2 Jun 13

Stored cross-site scripting in the Bookly Online Scheduling and Appointment Booking System plugin for WordPress (version

CVE-2026-2520 MEDIUM
5.4 Sep 08

Unauthorized plugin update execution in the Bookly scheduling plugin for WordPress (all versions through 27.2) allows an

CVE-2026-103365 MEDIUM
5.3 Oct 10

Unauthenticated attackers who already know a registered customer's primary phone number or email can read that customer'

CVE-2026-2519 MEDIUM
5.3 Apr 09

Price manipulation in Bookly WordPress plugin (versions up to 27.0) allows unauthenticated attackers to reduce appointme

CVE-2026-92799 MEDIUM
5.3 Sep 25

Unauthenticated attackers can overwrite the name, email, phone, and address of any existing customer record in the Bookl

CVE-2026-12905 MEDIUM
4.3 Aug 16

Insecure Direct Object Reference in the Bookly plugin's Mobile Staff Cabinet API (versions up to and including 27.7) all

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