CVE-2026-92799 PUBLISHED

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

Assigner: Wordfence
Reserved: 16.09.2026 Published: 25.09.2026 Updated: 25.09.2026

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.

Metrics

CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
CVSS Score: 5.3

Product Status

Vendor ladela
Product Online Scheduling and Appointment Booking System – Bookly
Versions Default: unaffected
  • affected from 0 to 28.2 (incl.)

Credits

  • crow finder

References

Problem Types

  • CWE-285 Improper Authorization CWE