All vulnerabilities
CVE-2026-92799

Online Scheduling and Appointment Booking System <= 28.2 - Unauthenticated Authorization Bypass via PHP Type Juggling via 'verification_code' Parameter Type Juggling via json_data

ladela Online Scheduling and Appointment Booking System – Bookly
CVSS
5.3Medium
ExploitationNo known exploitationNot in CISA KEV, which does not prove it is unexploitedCISA KEV
Exploit odds (EPSS)0.32%Chance of exploitation activity in the next 30 days, higher than 23% of CVEs. Scored 23 Oct 2026FIRST EPSS
Fixed inNone listedNo source names a fixed version yet
Published25 Sep 2026Updated 25 Sep 2026CVE List

What fixes it

No source in this snapshot names a fixed version.

Description

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.

Text from CVE List

Affected versions 1

  • Online Scheduling and Appointment Booking System – Booklyaffected: all versions through 28.2CVE List

References 9