Appointment Booking Plugin <= 5.7.2 - Insecure Direct Object Reference to Authenticated (Subscriber+) Unauthorized Booking Creation and Sensitive Information Disclosure via 'params[presets][order_item_id]' Parameter
What fixes it
No source in this snapshot names a fixed version.
Description
The Appointment Booking Plugin – LatePoint | Calendar & Scheduling for WordPress plugin for WordPress is vulnerable to Insecure Direct Object Reference / Missing Authorization in versions up to, and including, 5.7.2. This is due to the publicly reachable steps__start and steps__load_step routes accepting a params[presets][order_item_id] value that is copied verbatim into the booking object without verifying that the referenced order item belongs to the current customer, is a bundle item, is paid, or has remaining capacity — the is_bundle_scheduling() bundle discriminator is a mere !empty(order_item_id) truthiness check, and the code flow explicitly removes the customer and payment steps when this is truthy (the source even carries a TODO acknowledging the missing validation). This makes it possible for unauthenticated attackers to create approved appointments against other customers' order items and to read those customers' names, email addresses, and order codes returned in the booking confirmation.
Text from CVE List
Affected versions 1
- Appointment Booking Plugin – LatePoint | Calendar & Scheduling for WordPressaffected: all versions through 5.7.2CVE List
References 8
- wordfence.com/threat-intel/vulnerabilities/id/136f8e94-a09a-48c4-bea9-e8b21d3fd91f?source=cveReferencevia CVE List
- plugins.trac.wordpress.org/browser/latepoint/tags/5.6.11/lib/helpers/steps_helper.php#L1028Referencevia CVE List
- plugins.trac.wordpress.org/browser/latepoint/tags/5.6.11/lib/helpers/steps_helper.php#L1281Referencevia CVE List
- plugins.trac.wordpress.org/browser/latepoint/tags/5.6.11/lib/models/booking_model.php#L842Referencevia CVE List
- plugins.trac.wordpress.org/browser/latepoint/tags/5.6.11/lib/helpers/steps_helper.php#L677Referencevia CVE List
- plugins.trac.wordpress.org/browser/latepoint/tags/5.6.11/lib/helpers/steps_helper.php#L2350Referencevia CVE List
- plugins.trac.wordpress.org/browser/latepoint/tags/5.6.11/lib/controllers/steps_controller.php#L17Referencevia CVE List
- plugins.trac.wordpress.org/browser/latepoint/tags/5.6.11/lib/controllers/steps_controller.php#L341Referencevia CVE List