Description
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.
Published: 2026-10-10
Score: 6.8 Medium
EPSS: n/a
KEV: No
Impact: Privilege Escalation
Action: Apply Patch
AI Analysis

Impact

The vulnerability is an insecure direct object reference that allows authenticated users with subscriber-level or higher access to override the WordPress user binding for any Bookly staff record. By supplying a manipulated 'id' or 'wp_user_id' parameter in a query string or JSON body, an attacker can reassign a staff account to another WordPress user, effectively hijacking a higher‑privileged staff member’s account. This escalation leads to the attacker gaining control of the staff member’s privileges and any associated administrative capabilities.

Affected Systems

The affected product is the WordPress plugin Online Scheduling and Appointment Booking System – Bookly, versions up to and including 28.4. All installations using these versions, and the default configuration where the bookly_gen_allow_staff_edit_profile option is enabled, are potentially vulnerable.

Risk and Exploitability

The CVSS score of 6.8 indicates moderate severity. No EPSS score is available, and the vulnerability is not listed in the CISA KEV catalog. Exploitation requires an authenticated subscriber‑level or higher account that has at least one staff record linked. Since the option enabling editing of staff profiles is active by default on fresh installations, many sites likely have the necessary staff‑user links in place. Attackers can trigger the exploit via the 'id' and 'wp_user_id' parameters in HTTP request URLs or JSON bodies.

Generated by OpenCVE AI on October 10, 2026 at 04:24 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade the Bookly plugin to version 28.5 or later to eliminate the missing authorization check.
  • If the feature is not required, disable the bookly_gen_allow_staff_edit_profile option as a temporary workaround.
  • After updating or disabling the option, audit the staff records and associated WordPress user bindings to identify and correct any unauthorized changes.

Generated by OpenCVE AI on October 10, 2026 at 04:24 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Sat, 10 Oct 2026 03:45:00 +0000

Type Values Removed Values Added
Description 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.
Title Online Scheduling and Appointment Booking System <= 28.4 - Insecure Direct Object Reference to Authenticated (Subscriber+) Privilege Escalation via 'id' and 'wp_user_id' Parameters via Query String / JSON Body
Weaknesses CWE-639
References
Metrics cvssV3_1

{'score': 6.8, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:N'}


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: Wordfence

Published:

Updated: 2026-10-10T03:26:43.653Z

Reserved: 2026-10-02T15:09:27.575Z

Link: CVE-2026-104898

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-10-10T04:18:08.847

Modified: 2026-10-10T04:18:08.847

Link: CVE-2026-104898

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-10T04:30:17Z

Weaknesses
  • CWE-639

    Authorization Bypass Through User-Controlled Key