CVE-2026-120741
Deferred Deferred - Pending Action

Stored XSS in MotoPress Appointment Booking Lite WordPress Plugin

Vulnerability report for CVE-2026-120741, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-11-07

Last updated on: 2026-11-07

Assigner: Wordfence

Description

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.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-11-07
Last Modified
2026-11-07
Generated
2026-11-07
AI Q&A
2026-11-07
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 1 associated CPE
Vendor Product Version / Range
jetmonsters MotoPress Appointment Booking From 0 (inc) to 2.4.8 (inc)

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-79 The product does not neutralize or incorrectly neutralizes user-controllable input before it is placed in output that is used as a web page that is served to other users.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

The MotoPress Appointment Booking Lite WordPress plugin has a stored cross-site scripting (XSS) vulnerability in versions up to 2.4.8. An unauthenticated attacker can inject malicious scripts via a public REST endpoint. The plugin fails to sanitize user input before saving it to a database table and also fails to escape it when displayed in the admin panel for certain user roles.

Detection Guidance

Check for unauthorized scripts in the wp_mpa_customers table or admin bookings list. Review REST API logs for suspicious POST requests to /motopress/appointment/v1/customers/create. Use WordPress security plugins to scan for stored XSS payloads in customer names.

Impact Analysis

Attackers could steal session cookies, redirect users to malicious sites, or perform actions on their behalf. Users with access to the admin bookings list could have their browsers compromised when viewing injected content. The impact depends on the privileges of the affected user.

Compliance Impact

This vulnerability could potentially affect compliance with GDPR and HIPAA due to the risk of unauthorized script injection. Stored XSS may lead to data breaches, unauthorized access, or manipulation of sensitive user data, which are key concerns under both regulations. However, specific compliance impacts depend on how the plugin is used and the data processed.

Mitigation Strategies

Update the MotoPress Appointment Booking Lite plugin to the latest version. Remove the 'name' parameter from the vulnerable REST endpoint if possible. Restrict access to the wp_mpa_customers table and sanitize all inputs in WordPress.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-120741. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart

Security Radar

News mentioning this vulnerability
Loading related security news...