Description
The Appointment Booking Plugin – LatePoint | Calendar & Scheduling for WordPress plugin for WordPress is vulnerable to Insecure Direct Object Reference in versions up to, and including, 5.7.1 via the OsPaypalConnectController::create_order_for_transaction() action registered as a public (unauthenticated) route through wp_ajax_nopriv_latepoint_route_call. The handler loads an OsInvoiceModel by a sequential integer 'invoice_id' with no access-key/UUID or ownership check (the sibling Stripe and Razorpay handlers require a 128-bit access-key UUID via OsInvoicesHelper::get_invoice_by_key), and then calls OsTransactionIntentHelper::create_or_update_transaction_intent() which persists a transaction intent tied to the target invoice's customer_id, order_id and charge_amount and regenerates its intent_key before the PayPal-configured guard is reached. This makes it possible for unauthenticated attackers to enumerate invoices belonging to arbitrary customers, create unauthorized transaction-intent rows linked to another customer's data, and overwrite the intent_key of any in-flight NEW-status transaction intent — invalidating the intent_key that legitimate Stripe/Razorpay flows are waiting on and breaking payment webhooks for those customers.
Published: 2026-10-02
Score: 5.3 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Unauthorized Transaction Intent Creation and Invoice Enumeration
Action: Apply Patch
AI Analysis

Impact

The LatePoint Appointment Booking Plugin for WordPress is affected by an insecure direct object reference, identified as CWE‑639. In vulnerable versions up to 5.7.1, unauthenticated users can call the wp_ajax_nopriv_latepoint_route_call endpoint and provide a numeric `invoice_id`. The handler loads the corresponding invoice record without verifying ownership or requiring a unique access key, then creates or updates a transaction intent. This flaw allows attackers to enumerate all invoices belonging to any customer, forge transaction intents tied to other users’ invoices, or overwrite the intent key used by legitimate payment webhooks, potentially causing duplicate charges or disabling automated payment notifications.

Affected Systems

LatePoint, the Calendar & Scheduling plugin for WordPress, is impacted in all releases up to and including 5.7.1. Versions released after 5.7.1 are not affected according to the advisory. The vulnerability is tied to the public AJAX route defined in OsPaypalConnectController and related transaction helper classes.

Risk and Exploitability

The defect carries a CVSS score of 5.3, reflecting moderate impact. No EPSS score is available, and the issue is not listed in CISA’s KEV catalog. Attackers need only send unauthenticated HTTP requests to the wp_ajax_nopriv_latepoint_route_call endpoint with sequential invoice IDs; no credentials or advanced configuration are required. Because the attack does not rely on complex setup or privilege escalation, the likelihood of exploitation remains moderate but non-negligible, especially for WordPress sites that lack additional access controls.

Generated by OpenCVE AI on October 2, 2026 at 09:08 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade the LatePoint plugin to the latest release (5.7.2 or newer) where the public AJAX route is protected with access‑key verification and ownership checks.
  • If an upgrade cannot be performed immediately, apply a server‑side filter or middleware that blocks unauthenticated requests to wp_ajax_nopriv_latepoint_route_call so only authenticated users can invoke invoice‑related actions.
  • Add strict validation for the `invoice_id` parameter, ensuring the provided ID belongs to the requesting user or is accompanied by a valid UUID/access key; remove the ability to fetch invoices solely by sequential integer.

Generated by OpenCVE AI on October 2, 2026 at 09:08 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Sat, 03 Oct 2026 16:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Fri, 02 Oct 2026 15:15:00 +0000

Type Values Removed Values Added
First Time appeared Latepoint
Latepoint appointment Booking Plugin – Latepoint | Calendar & Scheduling For Wordpress
Wordpress-extensions
Wordpress-extensions appointment Booking Plugin
Vendors & Products Latepoint
Latepoint appointment Booking Plugin – Latepoint | Calendar & Scheduling For Wordpress
Wordpress-extensions
Wordpress-extensions appointment Booking Plugin

Fri, 02 Oct 2026 07:45:00 +0000

Type Values Removed Values Added
Description The Appointment Booking Plugin – LatePoint | Calendar & Scheduling for WordPress plugin for WordPress is vulnerable to Insecure Direct Object Reference in versions up to, and including, 5.7.1 via the OsPaypalConnectController::create_order_for_transaction() action registered as a public (unauthenticated) route through wp_ajax_nopriv_latepoint_route_call. The handler loads an OsInvoiceModel by a sequential integer 'invoice_id' with no access-key/UUID or ownership check (the sibling Stripe and Razorpay handlers require a 128-bit access-key UUID via OsInvoicesHelper::get_invoice_by_key), and then calls OsTransactionIntentHelper::create_or_update_transaction_intent() which persists a transaction intent tied to the target invoice's customer_id, order_id and charge_amount and regenerates its intent_key before the PayPal-configured guard is reached. This makes it possible for unauthenticated attackers to enumerate invoices belonging to arbitrary customers, create unauthorized transaction-intent rows linked to another customer's data, and overwrite the intent_key of any in-flight NEW-status transaction intent — invalidating the intent_key that legitimate Stripe/Razorpay flows are waiting on and breaking payment webhooks for those customers.
Title Appointment Booking Plugin <= 5.7.1 - Insecure Direct Object Reference to Unauthenticated Unauthorized Transaction Intent Creation/Modification and Invoice Enumeration via 'invoice_id' Parameter
Weaknesses CWE-639
References
Metrics cvssV3_1

{'score': 5.3, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N'}


Subscriptions

Latepoint Appointment Booking Plugin – Latepoint | Calendar & Scheduling For Wordpress
Wordpress-extensions Appointment Booking Plugin
cve-icon MITRE

Status: PUBLISHED

Assigner: Wordfence

Published:

Updated: 2026-10-03T15:42:48.459Z

Reserved: 2026-09-21T16:06:17.998Z

Link: CVE-2026-94432

cve-icon Vulnrichment

Updated: 2026-10-03T15:40:03.763Z

cve-icon NVD

Status : Deferred

Published: 2026-10-02T08:17:03.587

Modified: 2026-10-03T16:16:45.247

Link: CVE-2026-94432

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-02T14:45:45Z

Weaknesses
  • CWE-639

    Authorization Bypass Through User-Controlled Key