What the vulnerability does
01Description
The Online Scheduling and Appointment Booking System – Bookly plugin for WordPress is vulnerable to Stored Cross-Site Scripting via bookly_speed_up_update_addons AJAX action in all versions up to, and including, 27.7 due to insufficient input sanitization and output escaping. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. The injection point is the bookly_speed_up_update_addons AJAX action, which is registered as wp_ajax_nopriv_* and therefore reachable without authentication; the payload is stored verbatim in the bookly_log.details column when a request is submitted without a valid signature, and executes when an administrator later views the Diagnostics → Logs page.
Explanation of Vulnerability in Simple Terms
02Summary
Bookly versions 27.7 and earlier contain a cross-site scripting vulnerability that allows unauthenticated attackers to inject malicious scripts into the application. The vulnerability affects multiple users across the platform due to its changed scope. An attacker can inject code that executes in visitors' browsers, potentially stealing session data or redirecting users to malicious sites.
What an attacker can do
03Attacker Capabilities
Inject malicious JavaScript that runs in other users' browsers and steals their session data or credentials.
Potential impact on your site
04Site Impact
Visitors and administrators may have their sessions hijacked or be redirected to phishing sites without clicking anything.
Conditions required to exploit
05Prerequisites
No authentication or user interaction required; attacker can exploit this remotely over the network.
Key dates
06Disclosure timeline
August 16, 2026
CVE published