CVE-2026-6498
Received Received - Intake
Five Star Restaurant Reservations Payment Bypass

Publication date: 2026-04-30

Last updated on: 2026-04-30

Assigner: Wordfence

Description
The Five Star Restaurant Reservations plugin for WordPress is vulnerable to a payment bypass via PHP type juggling in versions up to, and including, 2.7.16 This is due to the valid_payment() function using a PHP loose comparison (==) between the attacker-controlled payment_id POST parameter and the booking's stripe_payment_intent_id property. When an unauthenticated attacker submits a request to the nopriv AJAX handler rtb_stripe_pmt_succeed before the Stripe payment intent has been created for a booking (i.e., before the JavaScript-triggered create_stripe_pmtIntnt() call has stored an intent ID in post meta), the stripe_payment_intent_id property on the booking object remains null. The comparison sanitize_text_field('') == null evaluates to TRUE in PHP loose comparison, causing the payment verification check to pass with zero actual payment. This makes it possible for unauthenticated attackers to mark any existing payment_pending booking as paid without completing a Stripe payment by submitting an empty payment_id parameter.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2026-04-30
Last Modified
2026-04-30
Generated
2026-05-06
AI Q&A
2026-04-30
EPSS Evaluated
2026-05-05
NVD
EUVD
Affected Vendors & Products
Showing 1 associated CPE
Vendor Product Version / Range
five_star_restaurant_reservations plugin to 2.7.16 (inc)
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-345 The product does not sufficiently verify the origin or authenticity of data, in a way that causes it to accept invalid data.
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?

The Five Star Restaurant Reservations plugin for WordPress has a vulnerability in versions up to 2.7.16 that allows an attacker to bypass payment verification. This happens because the plugin's valid_payment() function uses a PHP loose comparison (==) between a user-controlled payment_id parameter and the booking's stripe_payment_intent_id property.

If an attacker submits a request before the Stripe payment intent is created (meaning the stripe_payment_intent_id is null), the loose comparison treats an empty payment_id as equal to null. This causes the payment verification to incorrectly succeed, allowing the attacker to mark a booking as paid without actually completing a Stripe payment.


How can this vulnerability impact me? :

This vulnerability allows unauthenticated attackers to mark any existing booking that is pending payment as paid without making a real payment. This can lead to financial loss for the business using the plugin, as attackers can obtain services or reservations without paying.


How can this vulnerability be detected on my network or system? Can you suggest some commands?

This vulnerability can be detected by monitoring for unauthenticated POST requests to the nopriv AJAX handler rtb_stripe_pmt_succeed that include an empty payment_id parameter.

Specifically, you can look for HTTP POST requests where the payment_id parameter is missing or empty, which could indicate attempts to bypass payment verification.

On the server, you might use web server logs or network monitoring tools to filter for such requests.

  • Example command to search Apache logs for suspicious requests: grep 'rtb_stripe_pmt_succeed' /var/log/apache2/access.log | grep 'payment_id='
  • Use tools like tcpdump or Wireshark to capture and analyze HTTP POST traffic targeting the AJAX handler endpoint.

What immediate steps should I take to mitigate this vulnerability?

Immediate mitigation steps include updating the Five Star Restaurant Reservations plugin to a version later than 2.7.16 where this vulnerability is fixed.

If an update is not immediately possible, restrict access to the vulnerable AJAX handler by implementing authentication checks or firewall rules to block unauthenticated requests to rtb_stripe_pmt_succeed.

Additionally, monitor logs for suspicious activity targeting this endpoint and consider temporarily disabling the plugin if feasible.


How does this vulnerability affect compliance with common standards and regulations (like GDPR, HIPAA)?:

The vulnerability allows unauthenticated attackers to bypass payment verification and mark bookings as paid without completing a Stripe payment. This could lead to unauthorized access to services or goods without proper payment.

While the CVE description does not explicitly mention compliance with standards like GDPR or HIPAA, the ability to manipulate payment status without authentication could potentially impact regulatory compliance related to financial transaction integrity and data protection.

Specifically, for regulations such as GDPR, improper handling of payment data or unauthorized changes could raise concerns about data integrity and security. For HIPAA, if the plugin were used in a healthcare context involving protected health information, unauthorized access or manipulation could violate data security requirements.

However, no direct information is provided in the context or resources about the vulnerability's impact on compliance with these standards.


Ask Our AI Assistant
Need more information? Ask your question to get an AI reply (Powered by our expertise)
0/70
EPSS Chart