Online Scheduling and Appointment Booking System <= 28.2 - Unauthenticated Authorization Bypass via PHP Type Juggling via 'verification_code' Parameter Type Juggling via json_data
Strategic Overview
- Status
- Patched in 28.3
- Affected Plugin
- Online Scheduling and Appointment Booking System – Bookly
- Affected Version
<= 28.2- CVSS
- 5.3Medium
- Weakness type
- CWE-285 · Improper Authorization
- CVE
CVE-2026-92799
At a glance
CVE-2026-92799 is a medium-severity Improper Authorization vulnerability in the Online Scheduling and Appointment Booking System WordPress plugin, affecting versions <= 28.2. It carries a CVSS score of 5.3 (reachable over the network; low attack complexity). Exploitation requires no authentication. The issue is fixed in version 28.3; sites on affected versions should update now. Disclosed September 2026, reported by crow.
Vulnerability Overview
The Online Scheduling and Appointment Booking System – Bookly plugin for WordPress is vulnerable to Authorization Bypass via PHP Type Juggling in all versions up to, and including, 28.2. This is due to the `postValidateCustomer()` function using a loose PHP inequality operator (`!=`) to compare the session-stored one-time verification code against the attacker-supplied `verification_code` parameter — a flaw that is further exposed by the booking AJAX controller registering all its methods as `wp_ajax_nopriv_` handlers and unconditionally overriding `csrfTokenValid()` to return true, leaving the endpoint both unauthenticated and CSRF-unprotected. This makes it possible for unauthenticated attackers to bypass the phone/email ownership verification step and overwrite the name, email, phone, and address fields of any arbitrary existing Bookly customer record, redirecting that customer's booking notifications to attacker-controlled contact details. The bypass is achievable because the `json_data` input channel decodes input via `json_decode()`, which preserves real PHP types and causes the `wp_kses` filter to leave non-string values such as the JSON boolean `true` untouched; submitting `true` as the `verification_code` satisfies the loose comparison against the session's non-zero integer code (generated by `mt_rand(100000, 999999)`), causing `true != <non-zero int>` to evaluate as `false` and the guard to be bypassed.
Technical Analysis
The vector marks this flaw as remotely reachable over the network, with low attack complexity — no special timing or configuration is needed, and no privileges on the target site, and no interaction from a victim user.
CWE-285: Improper Authorization
Online Scheduling and Appointment Booking System <= 28.2 carries this weakness at postValidateCustomer(), and reaching it takes no account at all. Improper authorization means a permission check exists but does not cover the case being exercised, so a caller who is allowed to do one thing is allowed to do a neighbouring thing as well.
A lower-privileged account performs an action reserved for a higher one, which on a multi-author or membership site means an ordinary user reaching administrative behaviour. For Online Scheduling and Appointment Booking System the fix is 28.3: builds <= 28.2 are affected, anything from 28.3 onward is not.
Remediation
Update to version 28.3, or a newer patched version
How does WordSec protect against this?
This one needs no account at all, which puts it outside what login hardening can reach; WordSec's login security narrows the account-level paths around it, and the firewall is what inspects the request itself. None of that substitutes for the fix: Online Scheduling and Appointment Booking System 28.3 closes this, and updating the plugin is the step that ends it.
- Login Security
- Alerts
External References
Related records
Other vulnerabilities in Online Scheduling and Appointment Booking System – Bookly
- 9.1CVE-2026-93399: Online Scheduling and Appointment Booking System IDOR
CVE-2026-93399 - 8.1CVE-2023-26526: Bookly <= 21.7.1 Arbitrary File Deletion
CVE-2023-26526 - 7.5CVE-2026-89063: Online Scheduling and Appointment Booking System IDOR
CVE-2026-89063 - 7.5CVE-2026-13395: Online Scheduling and Appointment… SQL Injection
CVE-2026-13395 - 7.5CVE-2026-14516: Online Scheduling and Appointment… SQL Injection
CVE-2026-14516 - 7.5CVE-2026-61949: Online Scheduling and Appointment… SQL Injection
CVE-2026-61949 - 7.2CVE-2026-13424: Online Scheduling and Appointment… Stored XSS
CVE-2026-13424 - 7.2CVE-2026-61944: Online Scheduling and Appointment… Stored XSS
CVE-2026-61944
Vulnerability data © Defiant, Inc., provided under the Wordfence Intelligence T&C