Pinpoint Booking System <= 2.9.9.6.8 - Unauthenticated Improper Input Validation to Price Manipulation via 'cart_data' Parameter
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
- Exploitation: none
- Automatable: yes
- Technical impact: partial
Summary
The Pinpoint Booking System – Version 2 plugin for WordPress is vulnerable to Price Manipulation via the `cart_data` parameter in all versions up to, and including, 2.9.9.6.8. This is due to the `dopbsp_woocommerce_add_to_cart` AJAX action being registered via `wp_ajax_nopriv_*` with no authentication, no nonce verification, and no server-side recalculation of pricing — the `update` handler reads `price_total` directly from the attacker-controlled `cart_data` POST parameter and persists it to the database via `$wpdb->insert()` without validating it against the calendar's configured pricing. The `woocommerce_before_calculate_totals` callback subsequently reads the stored attacker-supplied value back from the database and passes it directly to `$product->set_price()` without recomputing from calendar settings. This makes it possible for unauthenticated attackers to override the WooCommerce checkout price of any bookable product tied to a booking calendar to an arbitrary value, effectively enabling the purchase of any such product at a self-chosen price.
Timeline
- CVE published
- CISA SSVC assessment
Exploitation: none · Automatable: yes · Technical impact: partial
- Record last updated
Affected versions
- dotonpaper Pinpoint Booking System – Version 2
through 2.9.9.6.8
References 9
plugins.trac.wordpress.org
- browser/booking-system/tags/2.9.9.6.8/addons/woocommerce/includes/class-woocommerce-cart.php#L293
- browser/booking-system/tags/2.9.9.6.8/addons/woocommerce/includes/class-woocommerce-cart.php#L90
- browser/booking-system/tags/2.9.9.6.8/addons/woocommerce/dopbsp-woocommerce.php#L141
- browser/booking-system/tags/2.9.9.6.8/addons/woocommerce/includes/class-woocommerce-cart.php#L125
- browser/booking-system/tags/2.9.9.6.7/addons/woocommerce/includes/class-woocommerce-cart.php#L293
- browser/booking-system/tags/2.9.9.6.7/addons/woocommerce/includes/class-woocommerce-cart.php#L90
- browser/booking-system/tags/2.9.9.6.7/addons/woocommerce/dopbsp-woocommerce.php#L141
- browser/booking-system/tags/2.9.9.6.7/addons/woocommerce/includes/class-woocommerce-cart.php#L125