Read the docs

MotoPress Appointment Booking: Unauthenticated Stored XSS via Customer Name

Priority LOW 24CWE-79Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
None
Attack complexity
High
Impact type
Cross-site scripting
Confidentiality · integrity · availability
Low · Low · None
Fix status
No fix listed

Attack profile from CVSS 3.1 · CNA. Fix status from CNA. Impact type from CWE-79.

Summary

The MotoPress Appointment Booking Lite plugin for WordPress is vulnerable to Stored Cross-Site Scripting in versions up to and including 2.4.8. The public /motopress/appointment/v1/customers/create REST endpoint is registered with permission_callback set to __return_true, and the handler's name parameter is neither sanitized before being written to the wp_mpa_customers table nor escaped when displayed in the admin bookings list for users without the mpa_edit_customer capability, such as the plugin-defined Appointment Employee role. Unauthenticated attackers can therefore inject scripts that execute whenever a user opens an affected page.

Written with Claude Haiku 5.5 from the sources below · 2026-11-07

Description from the CNA

The MotoPress Appointment Booking Lite plugin for WordPress is vulnerable to Stored Cross-Site Scripting in versions up to, and including, 2.4.8 via the public '/motopress/appointment/v1/customers/create' REST endpoint. The route is registered with permission_callback => '__return_true' and the handler's 'name' parameter is not sanitized before being written to the custom wp_mpa_customers table via $wpdb->insert, nor is it escaped on output in the admin bookings list when the viewing user lacks the 'mpa_edit_customer' capability (such as the plugin-defined Appointment Employee role). This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00268 19th percentileScored 2026-11-07
Fix No fix listed No fixed version in the sources yet

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
None
Automatable
No
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
jetmonstersMotoPress Appointment Bookingup to 2.4.8—No fix listedCNA
  • MotoPress Appointment Booking Vendorjetmonsters Affected up to 2.4.8 Fixed in — No fix listed CNA

Remediation

No fixed version is listed in the advisory, so update options are unconfirmed. Until a patched release is available, restrict access to the customers/create endpoint or disable the plugin, and review existing customer names in the wp_mpa_customers table for injected script.

Written with Claude Haiku 5.5 from the sources below · 2026-11-07

Timeline

  1. 2026-11-07 Threatist record created from CVE-2026-120741
  2. 2026-11-07 Alias added: GHSA-px2x-7739-98cp
  3. 2026-11-07 CISA SSVC decision points changed
  4. 2026-11-07 Priority changed: MEDIUM → LOW

References

  • TI-2024-04107 Hotel Booking Lite <= 4.11.1 - Unauthenticated PHP Object Injection CVSS 3.1CRITICAL 9.8
  • TI-2026-10932 JetFormBuilder <= 3.6.2 - Unauthenticated Privilege Escalation via '_jet_engine_booking_form_id' Parameter CVSS 3.1CRITICAL 9.8
  • TI-2024-03126 Timetable and Event Schedule by MotoPress <= 2.4.11 - Authenticated (Contributor+) SQL Injection CVSS 3.1CRITICAL 9.9
  • TI-2026-25053 WordPress JetFormBuilder plugin <= 3.5.6.1 - Remote Code Execution (RCE) vulnerability CVSS 3.1CRITICAL 9.9
  • TI-2025-40603 WordPress Hotel Booking Lite plugin <= 5.2.3 - Remote Code Execution (RCE) vulnerability CVSS 3.1CRITICAL 9.1
  • TI-2025-22116 WordPress Restaurant Menu by MotoPress plugin <= 2.4.4 - Local File Inclusion vulnerability CVSS 3.1HIGH 8.8
See all 47 →

Sources