CVE-2026-12128 json
Pinpoint Booking System <= 2.9.9.6.8 - Unauthenticated Improper Input Validation to Price Manipulation via 'cart_data' Parameter
published 2026-08-15 2 mo ago modified 2026-08-20 2 mo ago also EUVD-2026-58843
- cvss
- 5.3
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.6%
- EPSS 0.6% chance of exploitation in 30 days, percentile 49%
- public exploits
- 0
- none known
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.
CISA SSVC
- Exploitation
- none
- Automatable
- yes
- Technical impact
- partial
- Assessed
- 2 mo ago
Exploit prediction
0.61% chance of exploitation in the next 30 days, higher than 49% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 5.3 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N |
Affected products
- dotonpaper Pinpoint Booking System – Version 2
Classification
- Weakness
-
- CWE-20 Improper Input Validation
- Technology feeds
References
- wordfence.com /threat-intel/vulnerabilities/id/e6faf2b7-52e2-4656-9171-4ee17352ed1e?source=cve
- plugins.trac.wordpress.org /browser/booking-system/tags/2.9.9.6.8/addons/woocommerce/includes/class-woocommerce-cart.php#L293
- plugins.trac.wordpress.org /browser/booking-system/tags/2.9.9.6.8/addons/woocommerce/includes/class-woocommerce-cart.php#L90
- plugins.trac.wordpress.org /browser/booking-system/tags/2.9.9.6.8/addons/woocommerce/dopbsp-woocommerce.php#L141
- plugins.trac.wordpress.org /browser/booking-system/tags/2.9.9.6.8/addons/woocommerce/includes/class-woocommerce-cart.php#L125
- plugins.trac.wordpress.org /browser/booking-system/tags/2.9.9.6.7/addons/woocommerce/includes/class-woocommerce-cart.php#L293
- plugins.trac.wordpress.org /browser/booking-system/tags/2.9.9.6.7/addons/woocommerce/includes/class-woocommerce-cart.php#L90
- plugins.trac.wordpress.org /browser/booking-system/tags/2.9.9.6.7/addons/woocommerce/dopbsp-woocommerce.php#L141
- plugins.trac.wordpress.org /browser/booking-system/tags/2.9.9.6.7/addons/woocommerce/includes/class-woocommerce-cart.php#L125
Sources
- CVE List CVE-2026-12128
- NVD CVE-2026-12128
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.