CVE-2026-40791: Unauthenticated XSS in WP Time Slots Booking Form ≤1.2.46 – Patch Required
WP Time Slots Booking Form, a WordPress plugin used for appointment scheduling, contains an unauthenticated cross-site scripting (XSS) vulnerability in versions 1.2.46 and earlier. An attacker can inject malicious JavaScript code that executes in the browsers of site visitors or administrators without requiring authentication. This allows attackers to steal session tokens, redirect users, deface content, or harvest sensitive information through the booking form interface.
Source data · NVD / CISA · public domain
- CVSS
- 3.1 · 7.1 HIGH · CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:L
- Weaknesses (CWE)
- CWE-79
- Affected products
- 0 configuration(s)
- Published / Modified
- 2026-06-15 / 2026-06-17
NVD description (verbatim)
Unauthenticated Cross Site Scripting (XSS) in WP Time Slots Booking Form <= 1.2.46 versions.
1 reference(s) · View on NVD →
SEC.co analysis · AI-assisted, reviewed against source
Technical summary
The vulnerability is a stored or reflected XSS flaw (CWE-79) in WP Time Slots Booking Form affecting all versions up to and including 1.2.46. The plugin fails to properly sanitize and escape user-supplied input before rendering it in web responses. Because the booking form is typically accessible to unauthenticated visitors, an attacker can craft malicious payloads and inject them through form parameters, comments, or other input vectors. The resulting JavaScript executes with the privileges of the victim's browser session, including administrative sessions if triggered against site operators.
Business impact
Compromised WordPress sites using this plugin face multiple operational and reputational risks. Attackers can harvest credentials from booking form submissions, inject malware redirects, or modify booking data to disrupt appointment scheduling. For e-commerce or service-based businesses relying on the plugin for client intake, data integrity becomes compromised. Administrative users are at heightened risk of account takeover if their sessions are hijacked through the XSS vector. Sites may also face GDPR or similar privacy law violations if customer data is exfiltrated via the vulnerability.
Affected systems
WordPress installations running WP Time Slots Booking Form plugin version 1.2.46 or earlier are affected. The plugin is accessible to any WordPress site using this component for appointment booking functionality. Because no authentication is required to exploit the vulnerability, any visitor-facing instance of the booking form represents an attack surface. The impact scope extends to both the compromised site and its users, as well as potentially to downstream services or integrations that trust booking data from the affected plugin.
Exploitability
This vulnerability is readily exploitable. No authentication is required, the attack vector is network-based, and user interaction (clicking a malicious link or visiting a compromised page) is the only barrier. The CVSS score of 7.1 (HIGH) reflects moderate complexity mitigated by the requirement for user interaction and limited impact scope per the assessment vector. Proof-of-concept exploits are likely to emerge or may already circulate, making this a practical risk for threat actors targeting WordPress sites en masse.
Remediation
The primary remediation is to update WP Time Slots Booking Form to a patched version released after 1.2.46. Site administrators should verify the latest version available from the official plugin repository or the vendor's advisory. As an interim measure, disable or restrict access to the booking form (via Web Application Firewall rules or access controls) until patching is complete. Review access logs for evidence of exploitation attempts or data exfiltration. Consider conducting a security audit of any booking data collected during the vulnerable window.
Patch guidance
Monitor the WP Time Slots Booking Form plugin repository and vendor security advisories for an updated release. Once available, apply the patch promptly through the WordPress dashboard. Test the update in a staging environment first to ensure compatibility with your theme and other plugins. After deployment, verify that the booking form remains functional and that no previously injected malicious code persists. If no official patch is released within a reasonable timeframe, evaluate alternative appointment scheduling plugins with stronger security records.
Detection guidance
Monitor web application logs and WAF logs for suspicious patterns in booking form submissions, such as script tags, event handlers (onclick, onerror, onload), or encoded JavaScript in form parameters. Look for HTTP requests containing payloads like '<script>', 'javascript:', or common XSS encodings. Review WordPress plugin logs and admin audit trails for unauthorized modifications to booking data or form configuration. Use browser developer tools or security scanning tools to inspect the rendered HTML of the booking form for unexpected script elements. Implement Content Security Policy (CSP) headers to restrict inline script execution as a defense-in-depth measure.
Why prioritize this
This vulnerability merits immediate attention because it is unauthenticated, requires only passive user interaction to exploit, affects a public-facing form component, and poses direct threats to user data and site integrity. The HIGH CVSS severity combined with the widespread use of WordPress and booking form plugins across many business sectors elevates urgency. Organizations running this plugin should treat patching as a critical priority, not a routine maintenance task.
Risk score, explained
The CVSS 3.1 score of 7.1 (HIGH) reflects a network-accessible vulnerability requiring user interaction but offering low attack complexity. The attack vector (AV:N) indicates remote exploitability with no special network positioning needed. PR:N (no privileges required) and the low impact ratings on confidentiality, integrity, and availability across a changed scope (S:C) position this as a moderate-to-high risk. The score appropriately captures the practical threat: while not a system-wide catastrophic failure, the unauthenticated nature and public-facing attack surface make this a serious, actionable risk for defenders.
Frequently asked questions
Can this vulnerability be exploited if the booking form is not publicly visible?
No. If the booking form is restricted behind authentication or hidden from public view, the attack surface is reduced. However, if administrators interact with booking data in the backend, they may still be vulnerable if the XSS is stored and executed in admin pages. Review your access controls and confirm whether the form is truly non-public.
What is the difference between stored and reflected XSS in this context?
A reflected XSS would execute only when a victim clicks a crafted malicious link. A stored XSS would persist in the plugin's database (e.g., in saved booking records) and execute whenever that data is viewed by any user, including admins. Without full technical analysis, both attack modes are plausible in unauthenticated form plugins. Patching addresses the root cause in either case.
Do I need to clean up old booking data after patching?
Yes. If the site was actively exploited before patching, any stored malicious payloads in booking records should be cleaned or quarantined. Review database records for suspicious entries containing script tags or unusual characters. Consider backing up data before and after cleanup in case forensic analysis is needed.
What if the vendor does not release a patch?
If no patch materializes, you have several options: uninstall the plugin and migrate to an alternative booking solution; use a Web Application Firewall to filter malicious payloads before they reach the plugin; or implement strict Content Security Policy headers to block inline script execution. Choose based on your operational dependencies and risk tolerance.
This analysis is based on the published CVE record and vendor information available as of the publication date. SEC.co makes no warranty regarding the completeness or accuracy of third-party vendor advisories. Organizations should verify patch availability and compatibility with their specific WordPress environment before deploying updates. This vulnerability intelligence is provided for educational and risk-management purposes; any exploitation or testing should be confined to authorized systems under controlled conditions. Always consult with your security team and review vendor documentation before taking remediation actions. Source: NVD (public-domain), retrieved 2026-07-23. Analysis generated by SEC.co (claude-haiku-4-5).
Weaknesses (CWE)
Related vulnerabilities
- CVE-2016-20066HIGHWordPress CP Polls 1.0.8 Persistent XSS Vulnerability
- CVE-2016-20084HIGHWordPress Appointment-Booking-Calendar Unauthenticated XSS and Privilege Escalation
- CVE-2023-33999HIGHDOM-Based XSS in WP Mail Log Plugin – Analysis & Remediation
- CVE-2023-54351HIGHStored XSS in WordPress Sonaar Music Plugin 4.7 – Patch & Detection Guide
- CVE-2025-11262HIGHLink Whisper Free Stored XSS Vulnerability – Analysis & Patch Guidance
- CVE-2025-14773HIGHABB T-MAC Plus XSS Vulnerability – HIGH Risk Assessment
- CVE-2025-15654HIGHFox-themes Prague Reflected XSS Vulnerability – CVSS 7.1 (HIGH)
- CVE-2025-52759HIGHReflected XSS in UnboundStudio Accordion FAQ Plugin (Versions ≤2.2.1)