Severity by source
AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N
Access key browser dependency raises AC to H; stored XSS requires victim page visit so UI:R; contributor auth confirmed as PR:L; scope change retained.
Primary rating from Vendor (Wordfence).
CVSS VectorVendor: Wordfence
Lifecycle Timeline
2DescriptionCVE.org
The WP Hotel Booking plugin for WordPress is vulnerable to Stored Cross-Site Scripting via 'widget_search' Shortcode Attribute in all versions up to, and including, 2.3.2 due to insufficient input sanitization and output escaping. This makes it possible for authenticated attackers, with contributor-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. This is only exploitable on browsers where access keys can be used as the payload is stored in a hidden attribute.
AnalysisAI
Stored XSS in the WP Hotel Booking WordPress plugin (all versions through 2.3.2) allows authenticated contributors to inject persistent JavaScript via the 'widget_search' shortcode attribute, exploiting insufficient sanitization before rendering in page templates. The payload is stored in a hidden HTML attribute and executes in a victim's browser when they access the injected page, though exploitation is constrained to browsers where access key interactions can trigger hidden-attribute payloads. No public exploit code has been identified and this CVE is not listed in CISA KEV; real-world risk is lower than the CVSS 6.4 suggests due to the browser-specific prerequisite.
Technical ContextAI
This is a CWE-79 (Stored Cross-Site Scripting) flaw rooted in insufficient input sanitization and output escaping within the WP Hotel Booking plugin by ThimPress (CPE: cpe:2.3:a:thimpress:wp_hotel_booking:*:*:*:*:*:*:*:*). The vulnerable code path processes the 'widget_search' shortcode attribute and passes it unsanitized to the template layer: the rendering logic in class-wphb-shortcode-hotel-booking.php (line 44) and the output in search-form.php (line 103) within the plugin's SVN tree at tags/2.3.2 confirm the injection sink. The payload is written into a hidden HTML attribute rather than a standard script context, meaning execution depends on the HTML accesskey attribute behavior - a browser accessibility feature that binds keyboard shortcuts to elements. Not all browsers expose this behavior in a way that serves as a usable XSS trigger, narrowing the realistic attack surface beyond what standard stored XSS typically presents.
RemediationAI
Update WP Hotel Booking to a version beyond 2.3.2 immediately; a fix is recorded in the plugin's SVN repository at changeset revision 3609563 (https://plugins.trac.wordpress.org/changeset?reponame=&old=3609563%40wp-hotel-booking&new=3609563%40wp-hotel-booking) and is detailed in the Wordfence advisory at https://www.wordfence.com/threat-intel/vulnerabilities/id/9f3a4258-2f45-4617-a5ca-9b28835ef405. The exact patched release version has not been independently confirmed from available data - verify against the WordPress.org plugin page before deploying. As a compensating control prior to patching, audit and restrict the contributor role to fully trusted users only, and disable the use of arbitrary shortcodes by untrusted contributors using a plugin such as Disable Gutenberg or shortcode access controls - note this may break legitimate content authored by contributors. Wordfence Premium firewall rules may provide virtual patching for this specific vector.
More in Wp Hotel Booking
View allThe WP Hotel Booking plugin for WordPress is vulnerable to SQL Injection via the 'room_type' parameter of the /wphb/v1/r
The WP Hotel Booking WordPress plugin before 2.0.8 does not have authorisation and CSRF checks, as well as does not esca
SQL injection in the WP Hotel Booking WordPress plugin before 2.3.2 allows users holding plugin-specific booking-managem
Missing authorization controls in the WP Hotel Booking WordPress plugin (all versions before 2.3.1) expose sensitive hos
Reflected Cross-Site Scripting in the WP Hotel Booking WordPress plugin (ThimPress) through version 2.3.2 enables unauth
The WP Hotel Booking WordPress plugin before 2.0.8 does not have proper authorisation when deleting a package, allowing
The WP Hotel Booking WordPress plugin before 2.0.8 does not have authorisation and CSRF checks, as well as does not ensu
The WP Hotel Booking plugin for WordPress is vulnerable to arbitrary file uploads due to missing file type validation in
Path Traversal: '.../...//' vulnerability in ThimPress WP Hotel Booking wp-hotel-booking allows PHP Local File Inclusion
Missing Authorization vulnerability in ThimPress WP Hotel Booking.0.9.2. Rated medium severity (CVSS 6.5), this vulnerab
Reflected cross-site scripting in the WP Hotel Booking WordPress plugin (all versions up to and including 2.3.1) permits
Payment bypass in WP Hotel Booking (WordPress plugin, all versions ≤2.3.1) allows unauthenticated attackers to mark arbi
Same weakness CWE-79 – Cross-site Scripting (XSS)
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-48511
GHSA-3cx8-75px-m35q