CVE-2026-4911

Booking Package <= 1.7.06 - Unauthenticated Price Manipulation via 'amount' Parameter

2026-04-27 18:18
momopon1415

Strategic Overview

Status
Patched in 1.7.07
Affected Plugin
Booking Package
Affected Version
<= 1.7.06
CVSS
5.3Medium
Weakness type
CWE-472 · External Control of Assumed-Immutable Web Parameter
CVE
CVE-2026-4911
View all Booking Package vulnerabilities

At a glance

CVE-2026-4911 is a medium-severity External Control of Assumed-Immutable Web Parameter vulnerability in the Booking Package WordPress plugin, affecting versions <= 1.7.06. It carries a CVSS score of 5.3 (reachable over the network; low attack complexity). Exploitation requires no authentication. The issue is fixed in version 1.7.07; sites on affected versions should update now. Disclosed April 2026, reported by momopon1415.

Vulnerability Overview

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.

Technical Analysis

The vector marks this flaw as remotely reachable over the network, with low attack complexity — no special timing or configuration is needed, and no privileges on the target site, and no interaction from a victim user.

CWE-472: External Control of Assumed-Immutable Web Parameter

Booking Package <= 1.7.06 carries this weakness at amount, and reaching it takes no account at all. External control of an assumed-immutable parameter means the code trusts a value it believes cannot be changed by the caller, when in fact the request carries it.

Editing that field changes the outcome of the operation, which on commerce plugins means altered prices or totals and on account flows means acting as another user. For Booking Package the fix is 1.7.07: builds <= 1.7.06 are affected, anything from 1.7.07 onward is not.

Remediation

Update to version 1.7.07, or a newer patched version

How does WordSec protect against this?

Requests carrying this pattern arrive without a session, so nothing upstream of the firewall gets a chance to reject them: WordSec's web application firewall inspects request payloads before WordPress loads them. None of that substitutes for the fix: Booking Package 1.7.07 closes this, and updating the plugin is the step that ends it.

  • Firewall
  • Login Security
  • Alerts

External References

Related records

Vulnerability data © Defiant, Inc., provided under the Wordfence Intelligence T&C