Skip to main content

WP Hotel Booking CVE-2026-15464

| EUVDEUVD-2026-48511 MEDIUM
Cross-site Scripting (XSS) (CWE-79)
2026-07-24 Wordfence GHSA-3cx8-75px-m35q
6.4
CVSS 3.1 · Vendor: Wordfence
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Attain WordPress contributor account
  2. Delivery
    Author post with malicious widget_search shortcode attribute
  3. Exploit
    Publish page to persist payload in hidden HTML attribute
  4. Execution
    Privileged user visits injected page in vulnerable browser
  5. Persist
    Access key interaction triggers hidden-attribute script
  6. Impact
    Attacker harvests session token or performs admin-level actions

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Execution

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires a WordPress account with contributor-level privileges or above on the target site - unauthenticated attackers cannot exploit this vulnerability. The attacker must be able to publish or save content containing the 'widget_search' shortcode with a crafted attribute value. Critically, the stored payload is written into a hidden HTML attribute and is only executable via browser access key behavior (the HTML accesskey attribute acting as a trigger); browsers that do not expose access key interactions as an XSS execution path will not run the payload, and this is not universal behavior across modern browsers. Sites that restrict contributor registration to verified users, or that disable shortcode use for contributor-level roles, are not practically exploitable. The non-default browser interaction requirement is the primary limiting factor beyond the authentication prerequisite.

Impact

The Wordfence-assigned CVSS 6.4 vector (AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N) captures the cross-origin scope change correctly via S:C and the contributor-level auth requirement via PR:L, but two metric choices are debatable. First, UI:N does not fully account for the fact that a victim must browse to the injected page - stored XSS typically warrants UI:R. Second, AC:L understates the attack complexity: the description explicitly limits exploitation to browsers where access key interactions can serve as a payload trigger, a non-universal browser behavior that many assessors would score AC:H. Neither CISA KEV listing nor EPSS data were provided, and no public exploit code has been identified, all of which reduce real-world urgency below what a raw 6.4 implies. The principal threat is privilege escalation within WordPress - a rogue contributor injecting scripts that execute for visiting editors or administrators, potentially enabling session hijacking or admin-level takeover - but the access key dependency is a meaningful constraint against opportunistic mass exploitation.

Exploit ScenarioDerived

An attacker with a contributor-level WordPress account crafts a post or page embedding the 'widget_search' shortcode with a malicious JavaScript payload in the shortcode attribute. Once published, when a site administrator or editor visits that page in a browser that processes HTML access keys as executable triggers, the hidden-attribute payload fires, potentially exfiltrating the victim's authentication cookies or performing privileged actions such as adding a new administrator account. No public proof-of-concept code has been identified, but the vulnerability details and source code references are publicly disclosed via Wordfence.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
No patch listed yet 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Jul 24, 2026

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.

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.

Affected VersionsENISA

WP Hotel Booking 0 ≤2.3.2

Affected Packages

euvd wp_hotel_booking no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

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.

Know when Wp Hotel Booking gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (Wordfence) PRIMARY 6.4 MEDIUM
AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N
vuln.today AI 4.4 MEDIUM

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.

3.1 AV:N/AC:H/PR:L/UI:R/S:C/C:L/I:L/A:N
4.0 AV:N/AC:H/AT:P/PR:L/UI:P/VC:N/VI:L/VA:N/SC:L/SI:L/SA:N

Primary rating from Vendor (Wordfence).

CVSS VectorVendor: Wordfence

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Changed
Confidentiality
Low
Integrity
Low
Availability
None

DescriptionCVE.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.

Threat Intelligence Overview

EPSS Score
0.2%
Top 91% exploitable
Prevalence
Low
hotel booking plugin serving hospitality-sector WordPress sites only
Data Quality
5 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available No
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

32
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +32
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.

CVE-2024-3605 CRITICAL POC
10.0 Jun 20

The WP Hotel Booking plugin for WordPress is vulnerable to SQL Injection via the 'room_type' parameter of the /wphb/v1/r

CVE-2023-5652 CRITICAL POC
9.8 Nov 20

The WP Hotel Booking WordPress plugin before 2.0.8 does not have authorisation and CSRF checks, as well as does not esca

CVE-2026-15153 MEDIUM POC
6.8 Jul 30

SQL injection in the WP Hotel Booking WordPress plugin before 2.3.2 allows users holding plugin-specific booking-managem

CVE-2026-9822 MEDIUM POC
6.5 Jun 19

Missing authorization controls in the WP Hotel Booking WordPress plugin (all versions before 2.3.1) expose sensitive hos

CVE-2026-15094 MEDIUM POC
6.1 Jul 17

Reflected Cross-Site Scripting in the WP Hotel Booking WordPress plugin (ThimPress) through version 2.3.2 enables unauth

CVE-2023-5799 MEDIUM POC
5.4 Nov 20

The WP Hotel Booking WordPress plugin before 2.0.8 does not have proper authorisation when deleting a package, allowing

CVE-2023-5651 MEDIUM POC
5.4 Nov 20

The WP Hotel Booking WordPress plugin before 2.0.8 does not have authorisation and CSRF checks, as well as does not ensu

CVE-2024-7855 HIGH
8.8 Oct 02

The WP Hotel Booking plugin for WordPress is vulnerable to arbitrary file uploads due to missing file type validation in

CVE-2024-51582 HIGH
7.5 Nov 04

Path Traversal: '.../...//' vulnerability in ThimPress WP Hotel Booking wp-hotel-booking allows PHP Local File Inclusion

CVE-2024-30508 MEDIUM
6.5 Mar 29

Missing Authorization vulnerability in ThimPress WP Hotel Booking.0.9.2. Rated medium severity (CVSS 6.5), this vulnerab

CVE-2026-11392 MEDIUM
6.1 Jul 10

Reflected cross-site scripting in the WP Hotel Booking WordPress plugin (all versions up to and including 2.3.1) permits

CVE-2026-11901 MEDIUM
5.3 Jul 11

Payment bypass in WP Hotel Booking (WordPress plugin, all versions ≤2.3.1) allows unauthenticated attackers to mark arbi

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy