Description
The Booking for Appointments and Events Calendar – Amelia plugin for WordPress is vulnerable to Stored Cross-Site Scripting via customer name fields in versions up to and including 2.2. This is due to an authentication bypass where the AddBookingCommand explicitly skips nonce verification (Command.php line 186), allowing unauthenticated users to submit booking data. While the plugin applies sanitize_text_field() to customer firstName and lastName fields (BookingApplicationService.php lines 302-308), this function only removes HTML tags and preserves special characters including double quotes. The vulnerability manifests in the administrative Calendar view where a FullCalendar eventContent callback interpolates customer names directly into JavaScript template literals (redesign/dist/index.js line 199) and renders them via innerHTML without proper HTML entity encoding. Because double quotes are preserved, an attacker can inject payloads like '" onmouseover="alert(document.cookie)"' to break out of the title attribute and inject malicious event handlers. This makes it possible for unauthenticated attackers to inject arbitrary web scripts that will execute when an administrator accesses the Calendar page and hovers over the malicious appointment.
Published: 2026-08-28
Score: 7.2 High
EPSS: < 1% Very Low
KEV: No
Impact: Stored Cross‑Site Scripting
Action: Immediate Patch
AI Analysis

Impact

The vulnerability allows an attacker to store malicious JavaScript in the booking customer name fields of the Amelia WordPress plugin via an authentication bypass that skips nonce verification. Even though the plugin sanitizes the firstName and lastName fields, the sanitization strips only HTML tags, leaving double quotes intact. These unsanitized strings are later rendered directly into JavaScript template literals used by FullCalendar and inserted into the page via innerHTML. An attacker can therefore inject a payload such as "" onmouseover="alert(document.cookie)" to break out of the title attribute and cause arbitrary code execution whenever an administrator views the Calendar page and hovers over the malicious appointment. The result is a stored XSS that can compromise the administrator’s session, exfiltrate cookies, or perform additional malicious actions.

Affected Systems

Affected systems The flaw exists in the Booking for Appointments and Events Calendar – Amelia plugin for WordPress in all released versions up to and including 2.2. Any WordPress installation that uses this plugin and has not upgraded beyond 2.2 is vulnerable. The attacker does not need any authentication; the exploit is performed entirely through the public booking interface.

Risk and Exploitability

Risk and exploitability The CVSS score of 7.2 indicates a high severity when combined with the potentially remote exploitation vector. The EPSS score is currently unavailable, and the vulnerability is not listed in the CISA KEV catalog, implying that no active exploits have been confirmed in the public domain yet. Nevertheless, the ability for unauthenticated users to inject scripts that run in the context of the site administrator represents a serious threat. The attack requires only a crafted booking submission and is activated by the administrator’s visit to the Calendar page, making it both simple to execute and damaging.

Generated by OpenCVE AI on August 28, 2026 at 14:26 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Update the Amelia plugin to a version newer than 2.2, which removes the nonce bypass and ensures proper HTML entity encoding of customer names.
  • If an immediate upgrade is not possible, deny or restrict access to the Admin Calendar page, or apply a web‑application firewall rule that blocks payloads containing double quotes in booking name fields.
  • Deploy a content‑security‑policy that limits script execution to self and non‑inline scripts, which will mitigate the impact of any remaining XSS payloads until the plugin is fixed.

Generated by OpenCVE AI on August 28, 2026 at 14:26 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Tue, 01 Sep 2026 14:15:00 +0000

Type Values Removed Values Added
First Time appeared Ameliabooking
Ameliabooking booking For Appointments And Events Calendar
Wordpress
Wordpress wordpress
Vendors & Products Ameliabooking
Ameliabooking booking For Appointments And Events Calendar
Wordpress
Wordpress wordpress

Fri, 28 Aug 2026 07:30:00 +0000

Type Values Removed Values Added
Description The Booking for Appointments and Events Calendar – Amelia plugin for WordPress is vulnerable to Stored Cross-Site Scripting via customer name fields in versions up to and including 2.2. This is due to an authentication bypass where the AddBookingCommand explicitly skips nonce verification (Command.php line 186), allowing unauthenticated users to submit booking data. While the plugin applies sanitize_text_field() to customer firstName and lastName fields (BookingApplicationService.php lines 302-308), this function only removes HTML tags and preserves special characters including double quotes. The vulnerability manifests in the administrative Calendar view where a FullCalendar eventContent callback interpolates customer names directly into JavaScript template literals (redesign/dist/index.js line 199) and renders them via innerHTML without proper HTML entity encoding. Because double quotes are preserved, an attacker can inject payloads like '" onmouseover="alert(document.cookie)"' to break out of the title attribute and inject malicious event handlers. This makes it possible for unauthenticated attackers to inject arbitrary web scripts that will execute when an administrator accesses the Calendar page and hovers over the malicious appointment.
Title Booking for Appointments and Events Calendar <= 2.2 - Unauthenticated Stored Cross-Site Scripting via Customer Name Fields in Booking Submission
Weaknesses CWE-79
References
Metrics cvssV3_1

{'score': 7.2, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N'}


Subscriptions

Ameliabooking Booking For Appointments And Events Calendar
Wordpress Wordpress
cve-icon MITRE

Status: PUBLISHED

Assigner: Wordfence

Published:

Updated: 2026-08-28T18:35:55.988Z

Reserved: 2026-04-14T15:38:23.223Z

Link: CVE-2026-6286

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Deferred

Published: 2026-08-28T08:16:41.140

Modified: 2026-08-28T20:19:39.570

Link: CVE-2026-6286

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-01T14:00:03Z

Weaknesses
  • CWE-79

    Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')