VYPR
Unrated severityNVD Advisory· Published Jun 18, 2026

Appointment Booking Calendar <= 1.4.01 - Authenticated (Contributor+) Sensitive Information Exposure via 'id' Parameter

CVE-2026-12111

Description

The Appointment Booking Calendar plugin for WordPress is vulnerable to Sensitive Information Exposure in versions up to, and including, 1.4.01. This is due to insufficient authorization and missing per-calendar ownership checks in the cpabc_appointments_calendar_load2() function, which is reachable via the cpabc_calendar_load2=1 query parameter in wp-admin and only checks is_admin() && current_user_can('edit_posts'), a capability available to Contributor-level users and above. This makes it possible for authenticated attackers with Contributor-level access and above to supply an arbitrary calendar ID via the id parameter and extract customer booking information, including email addresses, names, phone numbers, booking times, and comments, from any calendar managed by the plugin.

AI Insight

LLM-synthesized narrative grounded in this CVE's description and references.

Affected products

1

Patches

Vulnerability mechanics

Root cause

"Missing per-calendar ownership authorization check in cpabc_appointments_calendar_load2() allows any user with edit_posts capability to access any calendar's booking data."

Attack vector

An authenticated attacker with at least Contributor-level access (the `edit_posts` capability) can send a crafted HTTP GET request to the WordPress admin area with `cpabc_calendar_load2=1` and an arbitrary `id` parameter. The `cpabc_appointments_calendar_load2()` function lacks per-calendar ownership checks, so the attacker can enumerate calendar IDs and extract sensitive booking data—including email addresses, names, phone numbers, booking times, and comments—from any calendar managed by the plugin. This is an authorization bypass / IDOR vulnerability.

Affected code

The vulnerability resides in the `cpabc_appointments_calendar_load2()` function, which is hooked to `plugins_loaded` and reachable via the `cpabc_calendar_load2=1` query parameter in `wp-admin`. The function only checks `is_admin() && current_user_can('edit_posts')` without verifying that the authenticated user owns or is authorized to access the calendar specified by the `id` parameter. This affects all versions up to and including 1.4.01 of the Appointment Booking Calendar plugin for WordPress.

What the fix does

The patch is not included in the bundle, but the advisory indicates that the fix must add per-calendar ownership verification inside `cpabc_appointments_calendar_load2()` so that a user can only retrieve booking data for calendars they own or are explicitly authorized to manage. Without such a check, any authenticated user with `edit_posts` can access all calendars' customer information.

Preconditions

  • authThe attacker must be an authenticated WordPress user with at least the Contributor role, which grants the 'edit_posts' capability.
  • networkThe attacker must be able to send HTTP requests to the WordPress admin area (wp-admin).
  • inputThe attacker must supply a valid calendar ID via the 'id' query parameter.

Generated on Jun 18, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.

References

10

News mentions

0

No linked articles in our index yet.