HIGH 7.2

CVE-2026-5513: Bookly WordPress Plugin Stored XSS Vulnerability in Customer Name Cookies

The Bookly WordPress plugin—used for managing appointments and customer bookings—has a security flaw that allows attackers to inject malicious code into websites. When a visitor accesses the affected site, the injected script runs in their browser, potentially stealing information or compromising their session. The vulnerability affects versions up to 27.2 and requires a specific feature (storing customer details in browser cookies) to be enabled, which is off by default. This means many sites are protected by default, but any installation that has explicitly enabled cookie-based customer data retention is at risk.

Source data · NVD / CISA · public domain

CVSS
3.1 · 7.2 HIGH · CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N
Weaknesses (CWE)
CWE-79
Affected products
0 configuration(s)
Published / Modified
2026-06-13 / 2026-07-23

NVD description (verbatim)

The Online Scheduling and Appointment Booking System – Bookly plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'bookly-customer-full-name' cookie in versions up to, and including, 27.2 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. Exploitation requires 'Remember personal information in cookies' setting to be enabled (disabled by default).

2 reference(s) · View on NVD →

SEC.co analysis · AI-assisted, reviewed against source

Technical summary

Bookly stores customer names in browser cookies (via the 'bookly-customer-full-name' parameter) to provide a convenient 'remember me' experience. The plugin fails to properly sanitize data written to this cookie and does not adequately escape it when rendering the customer information back to the page. An attacker can craft a malicious cookie value containing JavaScript payloads. When a user with this cookie visits a page where Bookly displays customer data, the unescaped script executes in the user's browser within the context of the WordPress site, meeting the definition of Stored XSS. The attack vector is network-based with no privilege requirements, and the scope is changed (C:L/I:L) because the injected script can affect data confidentiality and integrity across the entire site session.

Business impact

A successful attack exposes customer data visible to users on the site, compromises user sessions, and can lead to account takeover or unauthorized actions performed on behalf of the victim. For appointment-driven businesses (salons, clinics, consulting firms), this represents reputational damage and potential regulatory exposure if customer information is harvested. The impact is especially significant if the WordPress site handles payment information or health/personal details during booking. Trust in the scheduling system is undermined, and customers may be reluctant to use or recommend the service.

Affected systems

The vulnerability affects the Bookly plugin for WordPress in all versions up to and including 27.2. The attack only succeeds if the site administrator has enabled the 'Remember personal information in cookies' setting, which is disabled by default. This means organizations running Bookly without that explicit opt-in are not vulnerable. Verify your plugin version and check the plugin settings under the customer information retention options to determine your exposure.

Exploitability

Exploitation does not require authentication or special user privileges—an unauthenticated attacker can inject a payload into a cookie. However, the attack requires either direct cookie injection (e.g., via malware on the user's device, compromised network, or cross-site request forgery) or the victim to visit a link that sets the cookie. The requirement for the 'Remember personal information' setting to be explicitly enabled raises the bar slightly, as most default installations are not vulnerable out-of-the-box. That said, any site with this feature turned on should treat this as a priority.

Remediation

Update the Bookly plugin to a version that includes input sanitization and proper output escaping of the customer name cookie. Check the plugin repository or vendor advisory for the patched version that addresses CVE-2026-5513. As an interim measure, disable the 'Remember personal information in cookies' setting in Bookly's configuration if the feature is not critical to your user experience. This eliminates the attack vector until a patch is applied.

Patch guidance

Visit your WordPress admin dashboard, navigate to Plugins, and check for available updates to Bookly. Apply the patch version released to address CVE-2026-5513—verify against the official plugin advisory or changelog to confirm the fix is included. If you maintain multiple WordPress sites, use your staging environment to test the update first to ensure compatibility with your active customizations. After patching, confirm that the 'Remember personal information in cookies' setting is still configured according to your security policy.

Detection guidance

Monitor for suspicious values in the 'bookly-customer-full-name' cookie on your WordPress site, especially entries containing script tags, event handlers (onclick, onerror), or encoded payloads. Review server logs and WAF logs for requests with unusual cookie values or reflected script content. Within WordPress, inspect the Bookly plugin logs or custom logging if available to spot anomalies in customer name fields. Watch for user complaints about unexpected redirects or JavaScript errors on booking pages, which may signal injected code execution.

Why prioritize this

With a CVSS score of 7.2 (HIGH), this vulnerability merits prompt attention. The combination of network accessibility, low attack complexity, and cross-site scope elevates the risk. However, the default-disabled status of the vulnerable feature means not all Bookly installations are exposed. Prioritize sites where you have confirmed the 'Remember personal information' feature is active, and patch those first. Secondary priority goes to instances on default configuration but where you plan to enable the feature in the future.

Risk score, explained

The CVSS 3.1 score of 7.2 reflects a high-severity XSS vulnerability with network-based attack vector (AV:N), low attack complexity (AC:L), no privilege requirements (PR:N), and user interaction not needed (UI:N). The scope changes (S:C) because the injected script affects resources beyond the vulnerable component itself—it executes on the WordPress site and impacts other users. Confidentiality and Integrity are partially impacted (C:L/I:L) by the ability to steal session tokens or modify page content. Availability is not affected. The severity would be even higher if the default configuration enabled the vulnerable feature, but the opt-in nature moderates the score slightly in real-world practice.

Frequently asked questions

Do I need to patch if I never enabled 'Remember personal information in cookies'?

No, your installation is not vulnerable if that setting is disabled (the default). However, if you plan to enable it in the future or have any doubt about your configuration, apply the patch preemptively. It takes little effort and closes the door to this class of attack.

Can this vulnerability steal my customers' payment information?

The XSS flaw executes in the context of a user's browser session on your WordPress site. If payment data is handled by a third-party processor (Stripe, PayPal) and not stored in WordPress, the injected script cannot directly access it. However, if you transmit payment details through the WordPress site, an attacker could potentially intercept them. Always use PCI-compliant payment processors and never store raw card data in WordPress.

What if I have already been compromised?

If you suspect an attack, change all WordPress user passwords immediately, audit the Bookly plugin configuration and logs, revoke any suspicious API tokens, and consider scanning customer records for signs of data exfiltration. Then patch the vulnerability and re-enable the 'Remember personal information' feature only after you confirm the patch is in place and tested.

Does this affect the mobile version of Bookly?

The vulnerability resides in how Bookly handles the customer name cookie on the server-side and in the browser. If you use Bookly's mobile app, check the vendor advisory to confirm whether the app includes the same vulnerable code path. Web-based access to your booking pages is definitely affected.

This analysis is provided for informational purposes and is based on the published CVE description and CVSS vector. Always verify patch versions and compatibility against the official plugin repository and vendor advisory before deploying updates. SEC.co does not provide warranty or guarantee of exploitability in all environments. Security assessments should be conducted by qualified professionals tailored to your specific infrastructure and business context. Timelines and patch availability are subject to change; refer to the vendor advisory for the most current information. Source: NVD (public-domain), retrieved 2026-07-23. Analysis generated by SEC.co (claude-haiku-4-5).