# Bookit — Booking & Appointment Calendar <= 2.6.0.6 - Unauthenticated Payment Bypass via 'bookit_book_appointment' AJAX Action

- **ID:** WPSEC-2026-2149
- **Plugin:** Bookit — Booking & Appointment Calendar (`bookit`), https://wordpress.org/plugins/bookit/
- **Affected versions:** all versions before 2.6.0.7
- **Fixed in:** 2.6.0.7 (Update to 2.6.0.7 or later.)
- **Severity:** Medium 5.3 (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N)
- **Weakness:** CWE-840
- **Usage among sites WPSec scans:** plugin Low, affected versions None seen (as of 2026-10-30)
- **Attack surface analysis:** https://attacksurface.wpsec.com/plugin/bookit
- **Fix released:** 2026-10-29
- **Published:** 2026-10-30
- **URL:** https://wpsec.com/vuln/WPSEC-2026-2149/

## Description

The Bookit — Booking & Appointment Calendar plugin for WordPress is vulnerable to Payment Bypass via the public 'bookit_book_appointment' AJAX action in all versions up to, and including, 2.6.0.6, due to insufficient server-side validation of the booking price and payment method. When the chosen staff member does not offer the chosen service, the price lookup returns null, which a submitted price of 0 passes. A zero price also skips the payment-method check. The handler checks only that the submitted payment method exists in the settings, not that it is enabled. This makes it possible for unauthenticated attackers to book a paid service at a price of zero, or to choose a payment method the site owner has disabled, such as paying on site, and so avoid the required online payment.

## References

- https://wpsec.com/vuln/WPSEC-2026-2149/
- https://plugins.svn.wordpress.org/bookit/tags/2.6.0.7/
- https://wordpress.org/plugins/bookit/

Source: WPSec, https://wpsec.com/vuln/WPSEC-2026-2149/

License: CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Free to use, share and adapt, also commercially, if you credit WPSec and link to this advisory.
