CVE-2026-107616

Booking for Appointments and Events Calendar <= 9.9.1 - Missing Authorization to Unauthenticated Arbitrary Event Attendee Data Exposure via '/report/event/attendees' Endpoint

2026-11-06 21:22
Adarter

Strategic Overview

Status
Patched in 9.9.2
Affected Version
9.0 – 9.9.1
CVSS
7.5High
Weakness type
CWE-862 · Missing Authorization
CVE
CVE-2026-107616
View all Booking for Appointments and Events Calendar – Amelia vulnerabilities

At a glance

CVE-2026-107616 is a high-severity Missing Authorization vulnerability in the Booking for Appointments and Events Calendar WordPress plugin, affecting versions 9.0 – 9.9.1. It carries a CVSS score of 7.5 (reachable over the network; low attack complexity; high confidentiality impact). Exploitation requires no authentication. The issue is fixed in version 9.9.2; sites on affected versions should update now. Disclosed November 2026, reported by Adarter.

Vulnerability Overview

The Amelia plugin for WordPress is vulnerable to unauthorized access of attendee data due to a missing authorization check on the GetEventAttendeesCommandHandler::handle() function in versions up to, and including, 9.9.1. The handler only enforces the broad `amelia_read_events` capability — which the plugin's own `wpamelia-customer` role possesses — and does not verify that the authenticated user is an organizer/provider of the event referenced by the client-supplied `id` query parameter. This makes it possible for authenticated attackers, with wpamelia-customer-level access and above, to export the full CSV of attendee personally identifiable information (first/last name, email, phone, date of birth, gender, private notes, payment amounts/methods, WooCommerce order IDs, custom-field values, and uploaded-file URLs) for any Amelia event on the site by directly invoking the `/report/event/attendees` endpoint with an arbitrary event ID.

Technical Analysis

The vector marks this flaw as remotely reachable over the network, with low attack complexity — no special timing or configuration is needed, and no privileges on the target site, and no interaction from a victim user. A successful exploit has high impact on confidentiality.

CWE-862: Missing Authorization

Booking for Appointments and Events Calendar 9.0 – 9.9.1 carries this weakness at handle(), and reaching it takes no account at all. A missing authorization check means a function is reachable by anyone who can reach the endpoint, because the code never asks whether the caller is allowed to perform the action.

Any user who can reach the endpoint gets to run an action reserved for higher-privileged roles, from reading protected data to changing settings or content. For Booking for Appointments and Events Calendar the fix is 9.9.2: builds 9.0 – 9.9.1 are affected, anything from 9.9.2 onward is not.

Remediation

Update to version 9.9.2, or a newer patched version

How does WordSec protect against this?

This one needs no account at all, which puts it outside what login hardening can reach; WordSec's login security narrows the account-level paths around it, and the firewall is what inspects the request itself. None of that substitutes for the fix: Booking for Appointments and Events Calendar 9.9.2 closes this, and updating the plugin is the step that ends it.

  • Login Security
  • Alerts

External References

Related records

Vulnerability data © Defiant, Inc., provided under the Wordfence Intelligence T&C