CVE-2026-89063: Online Scheduling and Appointment Booking System <= 28.1 - Insecure Direct Object Reference to Unauthenticated Sensitive Data Access and Message Injection via 'conversation_id' Parameter
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.1 via the 'conversationid' parameter due to missing validation on a user controlled key. This makes it possible for unauthenticated attackers to read the full AI booking conversation transcript of any customer — leaking names, email addresses, phone numbers, and appointment details echoed by the assistant — and inject arbitrary messages into any victim conversation that are subsequently replayed to the Cloud AI worker along with the full private history. Because AI conversations are stored with no owner, user, or session identifier and conversation IDs are sequential integers, an unauthenticated attacker can enumerate all customer conversations simply by incrementing the conversationid parameter.
Affected Software
Event History
Frequently Asked Questions
Who can exploit this issue?
Any unauthenticated remote attacker can exploit it. No account, user interaction, or special privileges are required.
What information and actions are exposed through the vulnerable parameter?
An attacker can enumerate sequential conversation IDs to retrieve full AI booking conversation transcripts, including names, email addresses, phone numbers, and appointment details echoed by the assistant. They can also inject arbitrary messages into victim conversations, which are later replayed to the Cloud AI worker together with the private conversation history.
Are default deployments affected?
The issue affects all Bookly plugin versions through 28.1 because AI conversations are stored without an owner, user, or session identifier and the conversation_id value lacks validation. The provided data does not identify any configuration prerequisite or mitigation.