Severity by source
AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
Network-reachable wp-admin endpoint requires only Contributor-level authentication (PR:L); no complexity or interaction; confidentiality limited to plugin booking data (C:L), no integrity or availability impact.
Primary rating from Vendor (Wordfence).
CVSS VectorVendor: Wordfence
Lifecycle Timeline
2DescriptionCVE.org
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.
AnalysisAI
Sensitive customer PII exposure in the Appointment Booking Calendar WordPress plugin (versions up to and including 1.4.01) allows any authenticated user with Contributor-level access to exfiltrate booking records from calendars they do not own. The root cause is an IDOR (Insecure Direct Object Reference) in the cpabc_appointments_calendar_load2() function: the function enforces only a broad role check (edit_posts capability) without verifying that the requesting user owns the calendar ID supplied via the id parameter. Exposed records include customer names, email addresses, phone numbers, booking times, and freeform comments, making this a meaningful PII breach risk on multi-author WordPress installations. No public exploit has been identified at time of analysis and this CVE is not listed in the CISA KEV catalog.
Technical ContextAI
The affected product is identified by CPE cpe:2.3:a:codepeople:appointment_booking_calendar:*:*:*:*:*:*:*:* (Codepeople's Appointment Booking Calendar plugin). The vulnerable code resides in inc/cpabc_apps_go.inc.php at the cpabc_appointments_calendar_load2() function, reachable by appending cpabc_calendar_load2=1 to any wp-admin URL. The authorization gate uses the WordPress API check is_admin() && current_user_can('edit_posts'), which grants passage to any user holding the Contributor role or higher - a deliberately low-privilege role in WordPress intended for draft content submission, not data administration. Because the function accepts a caller-supplied integer as the calendar id without confirming that the authenticated user is the owner or manager of that calendar, any Contributor can enumerate calendar IDs and retrieve full booking datasets for calendars belonging to other site users or administrators. The root cause class is CWE-200 (Exposure of Sensitive Information to an Unauthorized Actor), more precisely manifesting as a missing ownership/authorization check on object access - a pattern also described as IDOR. WordPress SVN references (trunk and tags/1.3.99 at L1018, L1019, L945, and cpabc_appointments.php L142) confirm the affected code paths, and changeset 3570448 represents the upstream fix commit.
RemediationAI
The primary fix is to update the Appointment Booking Calendar plugin beyond version 1.4.01. WordPress SVN changeset 3570448 contains the upstream patch applied to trunk; however, the exact released plugin version incorporating this fix is not explicitly stated in the available data - site administrators should verify the current version in the WordPress Plugin Directory before upgrading and confirm it is newer than 1.4.01. The Wordfence advisory at https://www.wordfence.com/threat-intel/vulnerabilities/id/e1ecc237-87b0-4c4d-94cc-d3af9c6669c5 should be monitored for a confirmed patched version number. If immediate patching is not possible, the most effective compensating control is to audit and remove Contributor-level (and above) accounts that do not require access to wp-admin booking data, thereby eliminating the pool of potential attackers. A second interim control is to use a WordPress security plugin or WAF rule to block requests containing the cpabc_calendar_load2=1 query parameter from non-administrator roles; this carries the trade-off of breaking legitimate administrative calendar-loading functionality for lower-privileged admins. Disabling the plugin entirely eliminates the risk but also removes booking functionality. Network-layer restrictions on wp-admin access (e.g., IP allowlisting) reduce exposure but do not eliminate it if the attacker already has a valid Contributor credential on an allowlisted network.
More in Appointment Booking Calendar
View allThe Appointment Booking Calendar WordPress plugin before 1.3.83 does not have CSRF checks in some places, which could al
The Appointment Booking Calendar plugin before 1.3.35 for WordPress allows user input (in fields such as Description or
The Appointment Booking Calendar plugin 1.3.18 for WordPress allows XSS via the wp-admin/admin-post.php editionarea para
Missing Authorization vulnerability in Appointment Booking Calendar plugin <= 1.3.69 on WordPress. Rated high severity (
Stored XSS exists in the Appointment Booking Calendar plugin before 1.3.35 for WordPress. Rated medium severity (CVSS 4.
Cross-Site Request Forgery (CSRF) vulnerability in codepeople Appointment Booking Calendar allows SQL Injection.3.92. Ra
SQL injection vulnerability in cpabc_appointments_admin_int_calendar_list.inc.php in the Appointment Booking Calendar pl
The Appointment Booking Calendar - Simply Schedule Appointments Booking Plugin plugin for WordPress is vulnerable to Ref
Missing Authorization vulnerability in codepeople Appointment Booking Calendar allows Accessing Functionality Not Proper
Sensitive PII exposure in the Appointment Booking Calendar WordPress plugin (versions up to and including 1.4.02) allows
Multiple cross-site scripting (XSS) vulnerabilities in cpabc_appointments_admin_int_bookings_list.inc.php in the Appoint
The Appointment Booking Calendar Plugin and Scheduling Plugin WordPress plugin before 1.1.23 export settings functionali
Same weakness CWE-200 – Information Exposure
View allSame technique Information Disclosure
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-37864
GHSA-w9f2-px6f-gvmg