CVE-2026-10148

Booking for Appointments and Events Calendar – Amelia <= 2.4.9 - Authenticated (Contributor+) Stored Cross-Site Scripting via 'load_manually' Parameter

Published Sep 12, 2026 CVSS 3.1 · 6.4 Medium EPSS < 1% KEV · Not listed
Description
The Booking for Appointments and Events Calendar plugin for WordPress is vulnerable to Stored Cross-Site Scripting via multiple Elementor widgets in versions up to and including 2.4.9. This is due to insufficient input sanitization and output escaping on the 'load_manually' parameter in the render() methods of classes. This makes it possible for authenticated attackers, with Contributor-level access and above who can use Elementor, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. The vulnerability was partially patched in version 2.4.8.

Analysis

AI-generated

Technical impact

The Amelia booking and events calendar plugin for WordPress contains a stored cross‑site scripting flaw that is triggered widgets. Insufficient input sanitization and output escaping allow an authenticated user with Contributor or higher privileges to embed arbitrary JavaScript in the widget configuration. When a page containing the widget is viewed, the injected script runs in the browsers of all visitors, enabling session hijack or malware deployment. The weakness matches CWE‑79, an input validation error.

Affected Systems

All WordPress sites that have the Amelia booking plugin installed, with a version of 2.4.9 or earlier, are affected2.4.8, but the remainder of the code remains vulnerable until a version newer than 2.4.9 is deployed.

Risk and Exploitability

The CVSS score of 6.4 classifies the vulnerability as moderate severity, and the EPSS exploitation is unlikely. The flaw is not listed in the CISA KEV catalog, further suggesting limited observed exploitation. Adversaries only need Contributor‑level access—a role that is widespread on many WordPress sites—to create or edit a page that uses the vulnerable widget. Once the script is stored, it will execute for any visitor that broad and the attack path straightforward for authenticated users.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade the Amelia plugin to a version newer than 2.4.9 to remove the vulnerable code.
  • If an upgrade is not immediately possible, revoke access to pages that contain the affected widgets until the patch is applied.
  • After remediating, scan all pages that used theImplement proper input validation and output escaping for the load_manually parameter, following best practices for preventing CWE‑79 vulnerabilities.

Generated by OpenCVE AI on September 15, 2026 at 18:01 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories available
References
Link Providers
https://plugins.trac.wordpress.org/browser/ameliabooking/tags/2.2.1/src/Infrastructure/WP/Elementor/AmeliaEventsCalendarBookingElementorWidget.php#L186 cve-icon cve-icon
https://plugins.trac.wordpress.org/browser/ameliabooking/tags/2.2.1/src/Infrastructure/WP/Elementor/AmeliaEventsElementorWidget.php#L134 cve-icon cve-icon
https://plugins.trac.wordpress.org/browser/ameliabooking/tags/2.2.1/src/Infrastructure/WP/Elementor/AmeliaEventsListBookingElementorWidget.php#L247 cve-icon cve-icon
https://plugins.trac.wordpress.org/browser/ameliabooking/tags/2.2.1/src/Infrastructure/WP/Elementor/AmeliaStepBookingElementorWidget.php#L200 cve-icon cve-icon
https://plugins.trac.wordpress.org/browser/ameliabooking/tags/2.2.1/src/Infrastructure/WP/Elementor/AmeliaStepBookingElementorWidget.php#L226 cve-icon cve-icon
https://plugins.trac.wordpress.org/browser/ameliabooking/trunk/src/Infrastructure/WP/Elementor/AmeliaEventsCalendarBookingElementorWidget.php#L186 cve-icon cve-icon
https://plugins.trac.wordpress.org/browser/ameliabooking/trunk/src/Infrastructure/WP/Elementor/AmeliaEventsElementorWidget.php#L134 cve-icon cve-icon
https://plugins.trac.wordpress.org/browser/ameliabooking/trunk/src/Infrastructure/WP/Elementor/AmeliaEventsListBookingElementorWidget.php#L247 cve-icon cve-icon
https://plugins.trac.wordpress.org/browser/ameliabooking/trunk/src/Infrastructure/WP/Elementor/AmeliaStepBookingElementorWidget.php#L200 cve-icon cve-icon
https://plugins.trac.wordpress.org/browser/ameliabooking/trunk/src/Infrastructure/WP/Elementor/AmeliaStepBookingElementorWidget.php#L226 cve-icon cve-icon
https://plugins.trac.wordpress.org/changeset/3657136/ cve-icon cve-icon
https://plugins.trac.wordpress.org/changeset/3687762/ cve-icon cve-icon
https://www.wordfence.com/threat-intel/vulnerabilities/id/06ec5c60-169c-4bbb-92bf-802805d46c62?source=cve cve-icon cve-icon
History
Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}

Type Values Removed Values Added
Description The Booking for Appointments and Events Calendar plugin for WordPress is vulnerable to Stored Cross-Site Scripting via multiple Elementor widgets in versions up to and including 2.4.9. This is due to insufficient input sanitization and output escaping on the 'load_manually' parameter in the render() methods of classes. This makes it possible for authenticated attackers, with Contributor-level access and above who can use Elementor, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. The vulnerability was partially patched in version 2.4.8.
Title Booking for Appointments and Events Calendar – Amelia <= 2.4.9 - Authenticated (Contributor+) Stored Cross-Site Scripting via 'load_manually' Parameter
Weaknesses CWE-79
References
Metrics cvssV3_1

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

Subscriptions

No data.

Weaknesses
  • CWE-79

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

Sources

Status
PUBLISHED
Assigner
Wordfence
Published
Updated
Sep 14, 2026, 7:23 PM
Reserved
May 29, 2026, 10:53 PM
Status
Deferred
Published
Sep 12, 2026, 1:16 PM
Modified
Sep 14, 2026, 8:16 PM