Skip to main content

Appointment Hour Booking EUVDEUVD-2026-90566

| CVE-2026-96573 HIGH
Cross-site Scripting (XSS) (CWE-79)
2026-10-01 Wordfence GHSA-8899-xhvc-pc43
7.2
CVSS 3.1 · Vendor: Wordfence
View

Attack ChainAIDerived

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

  1. Access
    Submit booking form with scripted single-line field
  2. Delivery
    Payload stored in booking data
  3. Exploit
    Victim loads Schedule Calendar List page
  4. Execution
    Renderer decode-and-truncate injects into DOM unescaped
  5. Impact
    Script executes in victim browser (scope change)

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 the plugin's 'list_readmore_numberofwords' Other Parameters setting to be set to a positive integer; the default value of 0 bypasses the decode-and-truncate branch in the Schedule Calendar List Renderer and is NOT exploitable through this sink. Given that gate, an unauthenticated attacker can inject via a Booking Form single-line field, but the stored script only fires when a user subsequently loads the affected schedule/booking list page (victim page access is the trigger). Limiting factors: non-default configuration required, dependency on a victim viewing the rendered page, and only Low confidentiality/integrity impact (browser-context script execution, not server compromise).

Impact

Signals point to a moderate, conditional web risk rather than an urgent priority. The CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N = 7.2) describes a network-reachable, unauthenticated stored XSS with scope change but only Low confidentiality and integrity impact. No EPSS score, no CISA KEV listing, and no public exploit code were provided - exploitation status is 'no public exploit identified at time of analysis.' The most important mitigating signal is NOT in the raw CVSS vector: the description explicitly states exploitation is only possible when the 'list_readmore_numberofwords' Other Parameters setting is set to a positive integer, and the shipped default of 0 bypasses the vulnerable decode-and-truncate branch entirely. This is a non-default configuration gate that the CVSS AC:L metric does not reflect, so the real-world reachability is narrower than 7.2 suggests. Net: a credible stored XSS worth patching on affected sites that have customized this setting, but not a mass-exploitation emergency.

Exploit ScenarioDerived

An unauthenticated attacker submits a booking through the plugin's form, placing a malicious script payload into a single-line field. On a site where 'list_readmore_numberofwords' is configured to a positive integer, the Schedule Calendar List Renderer decodes and truncates that field and injects it into the DOM without proper escaping, so the script executes in the browser of any user (e.g. an admin or staffer) who later views the schedule/booking list page. No public proof-of-concept was provided in the input.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
No patch listed yet 0.3% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 01, 2026

Stored DOM-based cross-site scripting in the Appointment Hour Booking - Booking Calendar WordPress plugin (all versions up to and including 1.5.97) allows unauthenticated remote attackers to inject arbitrary web scripts via a Booking Form single-line field, which execute when a victim loads the affected Schedule Calendar list page. Exploitation requires the non-default 'list_readmore_numberofwords' Other Parameters setting to be a positive integer; the default value of 0 bypasses the vulnerable decode-and-truncate branch and is not exploitable through this sink. The assessed CVSS is 7.2 with Low confidentiality and Low integrity impact, and no public exploit was identified at time of analysis; overall this is a moderate, conditional web risk rather than an urgent priority.

RemediationAI

Patch status: Upstream fix available (PR/commit); released patched version not independently confirmed. The upstream changeset at https://plugins.trac.wordpress.org/changeset?reponame=&old=3718725%40appointment-hour-booking&new=3718725%40appointment-hour-booking addresses the issue, but no tagged plugin release version beyond 1.5.97 is confirmed in the provided data, so administrators should apply that changeset to a forked/patched copy or update to the next official Appointment Hour Booking - Booking Calendar release as soon as it is published. Consult the Wordfence advisory at https://www.wordfence.com/threat-intel/vulnerabilities/id/3044e60f-b930-42db-ba5d-656e71b84226?source=cve for updated guidance. As an immediate, specific mitigation, set the plugin's 'list_readmore_numberofwords' Other Parameters setting to 0 (the default), which disables the decode-and-truncate branch in the Schedule Calendar List Renderer and closes this specific sink; the trade-off is that read-more word truncation in the schedule calendar list will be disabled. If the Schedule Calendar list view is not required on the site, disable or remove that view to eliminate the affected rendering path entirely. Because the exploit requires a victim to load the injected schedule/booking list page, restricting access to those pages to trusted users can reduce exposure, though it does not fix the underlying injection. No vendor-released patch version is identified beyond the changeset, and no public exploit was identified at time of analysis.

Affected VersionsENISA

Appointment Hour Booking – Booking Calendar 0 ≤1.5.97

Affected Packages

euvd appointment_hour_booking_booking_calendar 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 cross-site scripting flaw in the Appointment Hour Booking - Booking Calendar WordPress plugin. The issue is specifically a stored DOM-based XSS: an unauthenticated attacker can submit a Booking Form single-line field whose value is not adequately sanitized on input and not adequately escaped when later rendered by the Schedule Calendar List Renderer, so arbitrary web script is inserted into the DOM and executes in the browser of a user who subsequently accesses the injected schedule/booking list page. The vulnerability is gated by the plugin's 'list_readmore_numberofwords' Other Parameters setting: only when this is configured to a positive integer does the decode-and-truncate branch in the list renderer process the attacker-controlled value in a way that leads to script execution; the default value of 0 skips that branch entirely. The affected code paths are referenced in the WordPress plugin Trac for version 1.5.97, including mv/js/jquery.calendar.js, cp-main-class.inc.php around lines 1473, 1609, and 1745, and classes/cp-base-class.inc.php around line 81. The CVSS vector CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N indicates a remotely reachable, unauthenticated issue with scope change because the resulting script runs in the victim's browser context; impact is limited to Low confidentiality and Low integrity, with no availability impact, and this does not imply server compromise. The CPE cpe:2.3:a:codepeople:appointment_hour_booking_-_booking_calendar:*:*:*:*:*:*:*:* reflects that all versions of the plugin are in scope per the advisory.

Know when Wordpress Plugin 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 7.2 HIGH
AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N
vuln.today AI 7.2 HIGH

Unauthenticated stored XSS reachable over the network (PR:N/AV:N); script runs in another security context (S:C) with Low C/I and no availability impact; kept AC:L to match vendor though the non-default config gate arguably raises complexity.

3.1 AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:N/UI:P/VC:L/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
None
User Interaction
None
Scope
Changed
Confidentiality
Low
Integrity
Low
Availability
None

DescriptionCVE.org

The Appointment Hour Booking - Booking Calendar plugin for WordPress is vulnerable to Stored DOM-Based Cross-Site Scripting via Booking Form Single-Line Field via Schedule Calendar List Renderer in all versions up to, and including, 1.5.97 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 the 'list_readmore_numberofwords' Other Parameters setting to be configured with a positive integer value; the default value of 0 bypasses the decode-and-truncate branch entirely and is not exploitable through this sink.

Executive ViewAI

Why It Matters

WordPress sites using Appointment Hour Booking - Booking Calendar plugin versions up to and including 1.5.97 may be affected by a stored cross-site scripting issue that can execute in visitors' browsers when viewing a Schedule Calendar list page, but only if the non-default 'list_readmore_numberofwords' setting is a positive integer. With no vendor-released patch identified at time of analysis and no public exploit identified, leadership should treat this as a conditional, medium business risk requiring asset identification and interim hardening rather than immediate incident response.

Business Impact: Medium
Compensating Controls

No vendor-released patch identified at time of analysis; set 'list_readmore_numberofwords' to 0 or disable the vulnerable Schedule Calendar list page, apply WAF/virtual patching, restrict plugin exposure, and monitor for injected scripts.

Threat Intelligence Overview

EPSS Score
0.3%
Top 84% exploitable
Prevalence
Low
Niche WordPress appointment/booking plugin, modest install base
Data Quality
3 sources
Confidence: Low

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 HIGH
CISA KEV No
Public POC No
EPSS 0.3%
Patch available No
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.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
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
Medium
Technical Impact
Partial

Priority Score

36
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +36
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-2023-6553 CRITICAL POC
9.8 Dec 15

The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1

CVE-2024-5084 CRITICAL POC
9.8 May 23

The Hash Form - Drag & Drop Form Builder plugin for WordPress is vulnerable to arbitrary file uploads due to missing fil

CVE-2024-44000 CRITICAL POC
9.8 Oct 20

Authentication bypass in the LiteSpeed Cache WordPress plugin (versions prior to 6.5.0.1) allows unauthenticated remote

CVE-2020-36847 CRITICAL POC
9.8 Jul 12

The Simple File List plugin for WordPress through version 4.2.2 contains an unauthenticated remote code execution vulner

CVE-2025-27007 CRITICAL POC
9.8 May 01

The SureTriggers WordPress plugin through version 1.0.82 contains a privilege escalation vulnerability that allows unaut

CVE-2016-1209 CRITICAL POC
9.8 May 14

The Ninja Forms plugin before 2.9.42.1 for WordPress allows remote attackers to conduct PHP object injection attacks via

CVE-2024-4443 CRITICAL POC
9.8 May 22

The Business Directory Plugin - Easy Listing Directories for WordPress plugin for WordPress is vulnerable to time-based

CVE-2024-1698 CRITICAL POC
9.8 Feb 27

SQL injection in the NotificationX WordPress plugin (versions up to and including 2.8.2) allows unauthenticated remote a

CVE-2023-6875 CRITICAL POC
9.8 Jan 11

The POST SMTP Mailer - Email log, Delivery Failure Notifications and Best Mail SMTP for WordPress plugin for WordPress i

CVE-2024-1512 CRITICAL POC
9.8 Feb 17

The MasterStudy LMS WordPress Plugin - for Online Courses and Education plugin for WordPress is vulnerable to union base

CVE-2024-4295 CRITICAL POC
9.8 Jun 05

The Email Subscribers by Icegram Express plugin for WordPress is vulnerable to SQL Injection via the ‘hash’ parameter in

CVE-2024-50498 CRITICAL POC
10.0 Oct 28

Remote code execution in the WP Query Console WordPress plugin (versions up to and including 1.0) by Ajit Bohra allows u

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