Description
The Bookly plugin for WordPress is vulnerable to Insecure Direct Object Reference in versions up to, and including, 28.2 via the 'bookly_get_form_id', 'bookly_render_complete', 'bookly_add_to_calendar' and 'bookly_rollback_order' AJAX actions. This is due to the 'bookly_get_form_id' handler blindly storing the attacker-controlled 'order_id' from the submitted form_data into a new booking session, which the 'bookly_render_complete' handler then trusts to look up and return the corresponding Order's secret token without verifying that the current session created that order. This makes it possible for unauthenticated attackers to enumerate sequential order IDs, disclose other customers' order tokens, retrieve calendar/appointment information via 'bookly_add_to_calendar' and permanently delete arbitrary non-completed bookings via 'bookly_rollback_order', which cascade-deletes the customer_appointment and (when no other customers are attached) the underlying appointment.
Published: 2026-09-25
Score: 9.1 Critical
EPSS: < 1% Very Low
KEV: No
Impact: Unauthorized Disclosure and Deletion of Booking Information
Action: Immediate Patch
AI Analysis

Impact

The Bookly plugin for WordPress contains an Insecure Direct Object Reference that allows attackers to manipulate the 'order_id' parameter in AJAX requests without session validation. By forging the 'order_id', a malicious user can discover secret booking tokens, add appointments to their own calendar, or permanently delete other users' bookings and appointments. This flaw compromises confidentiality, integrity, and availability of customer booking data.

Affected Systems

Vendors: ladela’s Online Scheduling and Appointment Booking System – Bookly, a WordPress plugin. Versions up to and including 28.2 are vulnerable. The issue appears in the AJAX actions 'bookly_get_form_id', 'bookly_render_complete', 'bookly_add_to_calendar', and 'bookly_rollback_order'.

Risk and Exploitability

The vulnerability is rated with a CVSS score of 9.1, indicating high severity. EPSS data is not available, and the flaw is not currently listed in CISA KEV. Attackers can exploit the flaw remotely via unauthenticated POST requests to the exposed AJAX endpoints, enumerating sequential 'order_id' values to access or delete bookings. As no authentication or authorization checks are performed, the risk of exploitation remains high until mitigated.

Generated by OpenCVE AI on September 25, 2026 at 09:20 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Update the Bookly plugin to a version newer than 28.2, where the fix is applied.
  • If an update is not feasible, restrict access to the vulnerable AJAX actions by requiring user authentication or disabling the endpoints for guest users.
  • Deploy a web application firewall rule that blocks repeated sequential numeric 'order_id' requests, which are indicative of enumeration attempts.

Generated by OpenCVE AI on September 25, 2026 at 09:20 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 25 Sep 2026 09:45:00 +0000

Type Values Removed Values Added
First Time appeared Ladela
Ladela online Scheduling And Appointment Booking System – Bookly
Wordpress
Wordpress wordpress
Vendors & Products Ladela
Ladela online Scheduling And Appointment Booking System – Bookly
Wordpress
Wordpress wordpress

Fri, 25 Sep 2026 07:00:00 +0000

Type Values Removed Values Added
Description The Bookly plugin for WordPress is vulnerable to Insecure Direct Object Reference in versions up to, and including, 28.2 via the 'bookly_get_form_id', 'bookly_render_complete', 'bookly_add_to_calendar' and 'bookly_rollback_order' AJAX actions. This is due to the 'bookly_get_form_id' handler blindly storing the attacker-controlled 'order_id' from the submitted form_data into a new booking session, which the 'bookly_render_complete' handler then trusts to look up and return the corresponding Order's secret token without verifying that the current session created that order. This makes it possible for unauthenticated attackers to enumerate sequential order IDs, disclose other customers' order tokens, retrieve calendar/appointment information via 'bookly_add_to_calendar' and permanently delete arbitrary non-completed bookings via 'bookly_rollback_order', which cascade-deletes the customer_appointment and (when no other customers are attached) the underlying appointment.
Title Online Scheduling and Appointment Booking System <= 28.2 - Insecure Direct Object Reference to Unauthenticated Arbitrary Booking Token Disclosure and Deletion via 'order_id' Parameter
Weaknesses CWE-639
References
Metrics cvssV3_1

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


Subscriptions

Ladela Online Scheduling And Appointment Booking System – Bookly
Wordpress Wordpress
cve-icon MITRE

Status: PUBLISHED

Assigner: Wordfence

Published:

Updated: 2026-09-25T06:39:55.951Z

Reserved: 2026-09-17T20:50:36.250Z

Link: CVE-2026-93399

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Deferred

Published: 2026-09-25T07:16:56.027

Modified: 2026-09-25T13:08:26.930

Link: CVE-2026-93399

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-25T09:30:07Z

Weaknesses
  • CWE-639

    Authorization Bypass Through User-Controlled Key