Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconNavigate to booking page
-
DeliverySelect service and checkout
-
ExploitIntercept POST request to intentForStripe()
-
InstallModify amount parameter to arbitrary low value
-
C2Submit malicious POST
-
ExecuteintentForStripe() passes unsanitized amount to Stripe PaymentIntent
-
ImpactcommitStripe() confirms payment without server-side validation
-
Step 8Booking completes at attacker-specified price
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V3 - Web Frontend Security Server-side parameter enforcement
|
| Exploitation Conditions | No authentication required - the exploit works against unauthenticated users on the checkout page. The vulnerability requires the Booking Package plugin to have Stripe payment method enabled and configured with valid Stripe API credentials. The exploit is triggered during the payment flow when a user submits booking details with a maliciously modified 'amount' parameter in the POST request to the intentForStripe() function. No special configuration, non-default settings, or user interaction (beyond normal checkout submission) is required; this means any Booking Package installation with Stripe enabled is exploitable by default. The vulnerability is not limited to specific booking types, service categories, or user roles - any booking offered through the plugin becomes a target for price manipulation. |
| Impact | CVSS 5.3 with AV:N/AC:L/PR:N/UI:N indicates network-accessible, unauthenticated exploitation with no user interaction required, but Integrity impact only (I:L) and no Confidentiality or Availability impact. The scoring reflects a limited CVSS severity, yet the real-world risk is substantially higher than the numeric score suggests: this is a direct financial fraud vulnerability enabling attackers to steal services by charging arbitrary low amounts (or $0.00 in extreme cases). The exploit is trivial (modify a POST parameter), highly automatable, and requires no special authentication or user interaction. EPSS data is not provided in the input, but typical financial fraud vulnerabilities of this type show moderate-to-high exploitation likelihood post-disclosure. The commented-out validation code indicates this was either a development error or an incomplete feature disabling. Active KEV status is not reported, but the straightforward nature and immediate financial impact suggest high probability of real-world exploitation once disclosed. SSVC perspective: exploitation is trivial (AC:L/PR:N), technical impact is high for booking businesses (financial loss, reputation damage, potential regulatory liability), and defense is difficult without patching. This should be prioritized despite sub-6.0 CVSS due to ease of exploitation and direct financial harm. |
| Exploit ScenarioDerived | An unauthenticated attacker navigates to a WordPress site using Booking Package, selects a premium booking service with a legitimate cost of $500.00, and during checkout modifies the POST parameter 'amount' to '0.01' (one cent) before payment submission. The intentForStripe() function accepts this manipulated value and creates a Stripe PaymentIntent for $0.01. When commitStripe() confirms the payment, it processes the fraudulent amount instead of validating against the server-calculated $500.00 price, and the booking is completed at the attacker-specified price. The attacker gains access to the service without paying the actual cost, while the booking business records a loss. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Apr 28, 2026
Booking Package plugin for WordPress up to version 1.7.06 allows unauthenticated attackers to manipulate booking prices via the intentForStripe() function, which accepts unsanitized $_POST['amount'] values and passes them directly to the Stripe PaymentIntent API without validation. The vulnerability is compounded by commented-out code in CreditCard.php that would normally enforce server-calculated pricing, enabling attackers to complete bookings at arbitrary prices (e.g., $0.01 instead of $500.00) with no authentication required. This is a confirmed price manipulation vulnerability with no active KEV exploitation reported but represents significant financial fraud risk.
RemediationAI
Upgrade Booking Package to version 1.7.07 or later immediately; the plugin repository changeset indicates this version introduced the fix. If immediate upgrade is not possible, disable the Stripe payment method in Booking Package settings via the WordPress admin dashboard under plugin configuration to prevent price manipulation attacks, though this will disable online payments entirely and requires alternative payment workflows. As a temporary network-level control, Web Application Firewall (WAF) rules can be deployed to detect and block POST requests to the booking-package endpoints containing suspicious 'amount' parameters that deviate significantly from legitimate booking values, though this requires baseline profiling of actual booking prices. The permanent fix requires the commented-out validation code in CreditCard.php to be uncommented and deployed, which ensures the server-calculated amount (from getAmount()) is enforced during PaymentIntent confirmation. Contact the plugin author or monitor the official Booking Package WordPress plugin repository at https://plugins.wordpress.org/booking-package/ for patch confirmation.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The Booking Package plugin integrates with Stripe for payment processing through two critical functions: intentForStripe() in Schedule.php (line 8942 in trunk, 8948 in 1.7.04) which creates a PaymentIntent with user-supplied amount data, and commitStripe() in CreditCard.php (line 545 in trunk, 548 in 1.7.04) which confirms the payment. The plugin's getAmount() method correctly calculates the actual booking cost server-side based on services, guest count, taxes, and applied coupons. However, the critical validation code in CreditCard.php (line 390 in trunk, 393 in 1.7.04) that should include the server-calculated amount in the PaymentIntent update has been commented out, creating a disconnect between server-side price calculation and client-side payment confirmation. The root cause is CWE-472 (Improper Validation of Extraneous Input), where user-controlled POST parameters bypass server-side validation and override legitimate business logic, allowing the PaymentIntent to be confirmed with a manipulated amount rather than the server-calculated total.
Know when Booking Package gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
Primary rating from NVD · only source for this CVE.
CVSS VectorNVD
DescriptionCVE.org
The Booking Package plugin for WordPress is vulnerable to Price Manipulation in versions up to, and including, 1.7.06 This is due to the intentForStripe() function passing user-controlled $_POST['amount'] directly to the Stripe PaymentIntent API without validation, and the commitStripe() function ignoring the server-calculated amount when confirming the payment. While the server correctly calculates the booking cost via getAmount() based on services, guests, taxes, and coupons, this calculated amount is never validated against or used to update the PaymentIntent because the critical code in CreditCard.php that would include the calculated amount in the PaymentIntent update is commented out. This makes it possible for unauthenticated attackers to book services at arbitrary prices (e.g., $0.01 instead of $500.00) by manipulating the amount parameter during PaymentIntent creation and completing the booking with the fraudulent payment.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.
More in Booking Package
View allThe Booking Package WordPress plugin before 1.5.29 requires a token for exporting the ical representation of it's bookin
Payment amount manipulation in the Booking Package WordPress plugin (versions before 1.7.25) allows unauthenticated remo
Unauthenticated information disclosure in the WordPress Booking Package plugin before 1.7.31 exposes calendar-account co
Booking Package WordPress plugin before 1.7.31 allows unauthenticated remote attackers to reset its premium subscription
Insecure cancellation-token generation in the Booking Package WordPress plugin before 1.7.31 allows unauthenticated atta
Unauthenticated PII disclosure in the Booking Package WordPress plugin through version 1.7.29 lets remote attackers retr
Unauthenticated SQL injection in the Booking Package WordPress plugin (versions up to and including 1.7.20, by developer
Unauthenticated broken access control in the SaaSProject Booking Package WordPress plugin versions 1.7.06 and earlier al
Privilege escalation in the Booking Package plugin for WordPress (versions up to and including 1.7.16) allows authentica
Stored cross-site scripting in the Booking Package WordPress plugin (versions up to and including 1.7.29) allows authent
Unauth. Rated medium severity (CVSS 6.1), this vulnerability is remotely exploitable, no authentication required, low at
Cross-site scripting vulnerability in Booking Package - Appointment Booking Calendar System versions prior to 1.5.11 all
EUVD-2026-26006
NVD
CVE.org
EPSS
Vulnrichment
GitHub PoC
Exploit-DB