Skip to main content
Vulnerability Database/CVE-2026-77704

CVE-2026-77704: Booking for Appointments Plugin Auth Bypass

CVE-2026-77704 is an authorization bypass vulnerability in the Booking for Appointments and Events Calendar WordPress plugin. Attackers can manipulate appointment statuses without proper authorization. This article covers technical details, affected versions, impact, and mitigation steps.

Published:

CVE-2026-77704 Overview

CVE-2026-77704 is a broken access control vulnerability in the Booking for Appointments and Events Calendar WordPress plugin before version 2.4.9. The plugin fails to verify that a user holds the required capability before allowing them to change an appointment's status. Authenticated customers can set arbitrary statuses on appointments they are booked on. This includes approving their own bookings left awaiting approval and overwriting the booking status of another customer on a shared appointment. The flaw maps to CWE-863: Incorrect Authorization.

Critical Impact

Authenticated customers can approve their own pending bookings and overwrite another customer's booking status on shared appointments, undermining the booking workflow's integrity.

Affected Products

  • Booking for Appointments and Events Calendar WordPress plugin versions prior to 2.4.9
  • WordPress sites running the vulnerable plugin with customer-level accounts enabled
  • Any deployment relying on the plugin's approval workflow for shared appointments

Discovery Timeline

  • 2026-08-29 - CVE-2026-77704 published to NVD
  • 2026-08-31 - Last updated in NVD database

Technical Details for CVE-2026-77704

Vulnerability Analysis

The plugin exposes a status-change action for appointments to authenticated users. The handler processes status updates without verifying that the calling user has the WordPress capability required to administer bookings. A customer role user can invoke the endpoint and submit an arbitrary status value against their own appointment or against a shared appointment where multiple customers are booked.

Because authorization is not enforced at the handler layer, the plugin accepts requests that should be rejected. Customers can therefore self-approve bookings that were placed into a pending state by the site owner. On appointments shared between customers, one participant can overwrite the status set by another participant, corrupting the workflow that businesses use to manage scheduling.

Root Cause

The root cause is a missing capability check ([CWE-863]) in the appointment status update flow. The plugin authenticates the request but does not authorize the action, treating any logged-in user with a booking reference as entitled to mutate that booking's status field.

Attack Vector

Exploitation requires a valid authenticated session as a customer with at least one booking. The attacker sends a crafted request to the plugin's status change endpoint, specifying the target appointment identifier and the desired status. No user interaction from an administrator or victim customer is required. The attack is network-reachable over standard HTTP or HTTPS to the WordPress site.

No verified exploit code is publicly available. See the WPScan Vulnerability Report for the disclosure details.

Detect Identity Attacks the Moment Authentication Fails

Singularity™ Identity surfaces credential misuse, lateral movement, and privilege escalation in real time, so you can contain the breach before it spreads.

Stop Identity Attacks

Detection Methods for CVE-2026-77704

Indicators of Compromise

  • Appointment records transitioning from pending or awaiting approval to approved without an administrator action in the audit log.
  • Booking status changes on shared appointments performed by non-administrative user accounts.
  • Unexpected HTTP POST requests to the plugin's status update endpoint originating from customer-role sessions.

Detection Strategies

  • Review the WordPress database wp_posts and plugin-specific booking tables for status changes correlated with non-privileged user IDs.
  • Enable WordPress action logging and alert on booking status transitions triggered by users lacking the manage_options or plugin-defined booking management capability.
  • Correlate access logs with booking status timestamps to identify anomalous self-approval patterns.

Monitoring Recommendations

  • Monitor plugin version inventory across managed WordPress sites and flag installations below 2.4.9.
  • Track HTTP request patterns to admin-ajax and REST endpoints exposed by the plugin, especially requests carrying status parameters from low-privilege users.
  • Alert on rapid sequences of booking status changes performed by the same authenticated customer session.

How to Mitigate CVE-2026-77704

Immediate Actions Required

  • Update the Booking for Appointments and Events Calendar WordPress plugin to version 2.4.9 or later.
  • Audit recent booking status changes for unauthorized approvals and restore correct states.
  • Restrict customer account registration on affected sites until patching is complete.

Patch Information

The vendor addressed the missing capability check in plugin version 2.4.9. Site administrators should apply the update through the WordPress plugin manager or by replacing the plugin files from the official source. Confirm the installed version after the update and review the WPScan Vulnerability Report for confirmation of the fixed release.

Workarounds

  • Temporarily disable the plugin if immediate patching is not possible and bookings can be paused.
  • Restrict access to the plugin's status update endpoint using a web application firewall rule that blocks non-administrator requests.
  • Downgrade authenticated customer accounts to subscriber-only roles that lack booking references until the update is deployed.

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.