LatePoint <= 5.3.2 - Insecure Direct Object Reference to Unauthenticated Sensitive Financial Data Exposure via Sequential Invoice ID
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
- Exploitation: none
- Automatable: no
- Technical impact: partial
Summary
The LatePoint plugin for WordPress is vulnerable to Insecure Direct Object Reference in all versions up to, and including, 5.3.2. The vulnerability exists because the OsStripeConnectController::create_payment_intent_for_transaction action is registered as a public action (no authentication required) and loads invoices by sequential integer invoice_id without any access_key or ownership verification. This is in contrast to other invoice-related actions (view_by_key, payment_form, summary_before_payment) in OsInvoicesController which properly require a cryptographic UUID access_key. This makes it possible for unauthenticated attackers to enumerate valid invoice IDs via an error message oracle, create unauthorized transaction intent records in the database containing sensitive financial data (invoice_id, order_id, customer_id, charge_amount), and on sites with Stripe Connect configured, the response also leaks Stripe payment_intent_client_secret tokens, transaction_intent_key values, and payment amounts for any invoice.
Timeline
- CVE published
- CISA SSVC assessment
Exploitation: none · Automatable: no · Technical impact: partial
- Record last updated
Affected versions
- latepoint LatePoint – Calendar Booking Plugin for Appointments and Events
through 5.3.2
References 10
plugins.trac.wordpress.org
- browser/latepoint/trunk/lib/controllers/stripe_connect_controller.php#L31
- browser/latepoint/tags/5.2.9/lib/controllers/stripe_connect_controller.php#L31
- browser/latepoint/trunk/lib/controllers/stripe_connect_controller.php#L33
- browser/latepoint/tags/5.2.9/lib/controllers/stripe_connect_controller.php#L33
- browser/latepoint/trunk/lib/controllers/stripe_connect_controller.php#L50
- browser/latepoint/tags/5.2.9/lib/controllers/stripe_connect_controller.php#L50
- browser/latepoint/trunk/lib/controllers/stripe_connect_controller.php#L20
- browser/latepoint/tags/5.2.9/lib/controllers/stripe_connect_controller.php#L20
- changeset/3505127/latepoint/trunk/lib/controllers/stripe_connect_controller.php