---
id: CVE-2026-103365
title: >-
  The Bookly – Online Scheduling and Appointment Booking System plugin for
  WordPress is vulnerable to Sensitive Information Exposure in versions up to,
  and including, 28.4 via the classic booking form's Details step
summary: >-
  The Bookly – Online Scheduling and Appointment Booking System plugin for
  WordPress is vulnerable to Sensitive Information Exposure in versions up to,
  and including, 28.4 via the classic booking form's Details step. The endpoint
  bookly_re…
severity: medium
cvss: 5.3
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N'
cwe:
  - CWE-200
published: '2026-10-10'
updated: '2026-10-10'
sourceUpdated: '2026-10-10T04:18:08.297'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-103365'
references:
  - url: >-
      https://plugins.trac.wordpress.org/browser/bookly-responsive-appointment-booking-tool/tags/28.3/frontend/components/booking/InfoText.php#L389
    label: security@wordfence.com
  - url: >-
      https://plugins.trac.wordpress.org/browser/bookly-responsive-appointment-booking-tool/tags/28.3/frontend/modules/booking/Ajax.php#L15
    label: security@wordfence.com
  - url: >-
      https://plugins.trac.wordpress.org/browser/bookly-responsive-appointment-booking-tool/tags/28.3/frontend/modules/booking/Ajax.php#L1515
    label: security@wordfence.com
  - url: >-
      https://plugins.trac.wordpress.org/browser/bookly-responsive-appointment-booking-tool/tags/28.3/frontend/modules/booking/Ajax.php#L570
    label: security@wordfence.com
  - url: >-
      https://plugins.trac.wordpress.org/browser/bookly-responsive-appointment-booking-tool/tags/28.3/frontend/modules/booking/Ajax.php#L791
    label: security@wordfence.com
  - url: >-
      https://plugins.trac.wordpress.org/browser/bookly-responsive-appointment-booking-tool/tags/28.3/lib/UserBookingData.php#L838
    label: security@wordfence.com
  - url: >-
      https://plugins.trac.wordpress.org/changeset?reponame=&new=3730881%40bookly-responsive-appointment-booking-tool%2Ftags%2F28.5&old=3722721%40bookly-responsive-appointment-booking-tool%2Ftags%2F28.4
    label: security@wordfence.com
  - url: >-
      https://www.wordfence.com/threat-intel/vulnerabilities/id/df578e6c-cecd-4c80-b11c-3916ec22c7c7?source=cve
    label: security@wordfence.com
tags:
  - nvd
ingestedAt: '2026-10-10T04:21:57.821Z'
---

## Overview

The Bookly – Online Scheduling and Appointment Booking System plugin for WordPress is vulnerable to Sensitive Information Exposure in versions up to, and including, 28.4 via the classic booking form's Details step. The endpoint bookly_render_details is registered for both wp_ajax and wp_ajax_nopriv, the module overrides csrfTokenValid() to always return true, and Bookly\Frontend\Components\Booking\InfoText::getCodes() calls UserBookingData::getCustomer() to load the persisted Customer entity keyed solely by the attacker-supplied phone (or email) with no invocation of the plugin's own customerIdentityConfirmed() predicate. When a site owner has placed the supported {client_name}, {client_email}, {client_phone}, or {client_note} placeholders into the Details step's Appearance information text, the matched customer's stored name, email, phone and internal notes are substituted into the returned HTML. This makes it possible for unauthenticated attackers who know only a registered customer's primary phone (or email) to read that customer's stored personal data.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
