Katalog CVE

CVE-2026-94432

ŚrednieCVSS 5.3
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.27%

Percentyl 17 - wyżej niż 17% wszystkich znanych CVE

Streszczenie

Wtyczka Appointment Booking Plugin – LatePoint | Calendar & Scheduling dla WordPressa (wersje do 5.7.1 włącznie) jest podatna na Insecure Direct Object Reference. Publiczny, nieuwierzytelniony endpoint AJAX ładuje fakturę po sekwencyjnym identyfikatorze invoice_id bez weryfikacji właściciela ani klucza dostępu, co pozwala atakującemu wyliczać faktury innych klientów i tworzyć lub nadpisywać intencje transakcji.

Ocena ryzyka

Nieuwierzytelniony atakujący może enumerować faktury dowolnych klientów, tworzyć nieautoryzowane rekordy intencji transakcji powiązane z danymi innych klientów oraz unieważniać intent_key oczekiwane przez legalne przepływy płatności Stripe/Razorpay, co prowadzi do wycieku danych i zakłócenia działania webhooków płatności.

Rekomendacja

Zaktualizuj wtyczkę LatePoint do wersji nowszej niż 5.7.1, a jeśli to niemożliwe, ogranicz dostęp do akcji latepoint_route_call oraz zweryfikuj, czy endpointy PayPal wymagają klucza dostępu i sprawdzenia właściciela faktury.

Powiązane podatności

Oryginalny opis (angielski, źródło NVD)

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.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS