Executive brief
A vulnerability in the WPS Bookings for WooCommerce WordPress plugin allows any registered user, such as a customer or subscriber, to cancel booking orders belonging to other people. This could lead to significant business disruption, loss of revenue, and a negative impact on customer trust as legitimate bookings are voided without authorization. The issue occurs because the system fails to check if the person requesting a cancellation actually owns the booking.
Technical details
The WPS Bookings for WooCommerce plugin is vulnerable to an Insecure Direct Object Reference (IDOR) in the 'bfw_cancelled_booked_order' AJAX action. The root cause is a lack of ownership validation; the plugin only checks for a valid nonce (which is available site-wide to any logged-in user) but fails to verify that the 'order_id' provided in the request belongs to the authenticated user. An attacker with Subscriber or Customer level privileges can send a crafted POST request to wp-admin/admin-ajax.php to cancel and void any booking order by its ID. This results in the booking line item being zeroed out and the order status transitioning to 'cancelled'. The vulnerability is fixed in version 3.11.7.
Affected products
- WPScan WPS Bookings for WooCommerce < 3.11.7
Timeline
- 2026-06-26: disclosed: Publicly published by WPScan
- 2026-07-17: advisory: NVD published date
- 2026-07-17: patched: Fixed in version 3.11.7