Description
The Rox Appointment Booking – Appointment Booking Scheduling Solution plugin for WordPress is vulnerable to Privilege Escalation via Mass Assignment in all versions up to, and including, 1.3.1 This is due to the public `/rox-appointment-booking/v1/public/booking` REST endpoint performing mass-assignment of the raw request body into a new customer row while `CustomerModel::$fillable` includes the internal `wp_user_id` column, allowing an unauthenticated attacker to persist an arbitrary WordPress user ID alongside an attacker-controlled email address with no authorization check. When an administrator subsequently opens the poisoned customer record and clicks Update Customer, `SaveCustomer::handleRequest()` passes the stored `wp_user_id` and attacker-supplied email to `wp_update_user()` — succeeding because `LinkedAccount::canChange()` unconditionally returns true when the acting user holds the `edit_users` capability — thereby overwriting the targeted administrator's email address and enabling full account takeover via a standard WordPress password-reset request. Successful exploitation requires an administrator to open and save the poisoned record, and the attacker must know or guess a valid administrator user ID (such as the default user ID 1).
Published: 2026-10-31
Score: 8.8 High
EPSS: n/a
KEV: No
Impact: Privilege Escalation
Action: Immediate Patch
AI Analysis

Impact

The Rox Appointment Booking plugin for WordPress contains a mass‑assignment flaw in its public REST endpoint (/rox-appointment-booking/v1/public/booking) that allows an unauthenticated attacker to create a customer record with an arbitrary WordPress user ID. Because the CustomerModel’s fillable list includes the internal wp_user_id field, an attacker can supply a target administrator’s user ID along with a chosen email address. When an administrator later opens and updates that customer record, the plugin passes the stored wp_user_id and attacker‑supplied email to wp_update_user(), and the plugin’s permission check (edit_users capability) allows the update to proceed. This results in the administrator’s email address being overwritten, and the attacker can then use a standard password‑reset flow to take full control of the account.

Affected Systems

The vulnerability affects the Rox Appointment Booking – Event, Calendar & Appointment Scheduling plugin for WordPress, versions 1.3.1 and all prior releases. The plugin is made by roxnor and distributed through the WordPress plugin repository.

Risk and Exploitability

The vulnerability is scored CVSS 8.8, indicating a high‑severity privilege escalation. The EPSS score is not available, and the issue is not listed in the CISA KEV catalog. Exploitation requires an unauthenticated POST to the public booking endpoint to create a crafted customer record, followed by an administrator manually opening that record in the backend and clicking Update. The attacker must know or guess a valid administrator user ID (for example, the default ID 1), which is a modest prerequisite. Once the email is overwritten, the attacker can perform a password reset to fully compromise the administrator account.

Generated by OpenCVE AI on October 31, 2026 at 09:27 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade the Rox Appointment Booking plugin to version 1.3.2 or later, which removes the mass‑assignment flaw.
  • If an upgrade cannot be done immediately, disable or block access to the /rox-appointment-booking/v1/public/booking endpoint until the fix is applied or the plugin’s internal mass‑assignment logic is patched.
  • Ensure that administrators verify or delete any suspicious customer records created by unauthenticated requests before updating them, and consider auditing pending entries regularly to prevent accidental updates from compromised data.

Generated by OpenCVE AI on October 31, 2026 at 09:27 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Sat, 31 Oct 2026 08:00:00 +0000

Type Values Removed Values Added
Description The Rox Appointment Booking – Appointment Booking Scheduling Solution plugin for WordPress is vulnerable to Privilege Escalation via Mass Assignment in all versions up to, and including, 1.3.1 This is due to the public `/rox-appointment-booking/v1/public/booking` REST endpoint performing mass-assignment of the raw request body into a new customer row while `CustomerModel::$fillable` includes the internal `wp_user_id` column, allowing an unauthenticated attacker to persist an arbitrary WordPress user ID alongside an attacker-controlled email address with no authorization check. When an administrator subsequently opens the poisoned customer record and clicks Update Customer, `SaveCustomer::handleRequest()` passes the stored `wp_user_id` and attacker-supplied email to `wp_update_user()` — succeeding because `LinkedAccount::canChange()` unconditionally returns true when the acting user holds the `edit_users` capability — thereby overwriting the targeted administrator's email address and enabling full account takeover via a standard WordPress password-reset request. Successful exploitation requires an administrator to open and save the poisoned record, and the attacker must know or guess a valid administrator user ID (such as the default user ID 1).
Title Rox Appointment Booking <= 1.3.1 - Unauthenticated Privilege Escalation via Mass Assignment to Mass Assignment via '/public/booking' Endpoint
Weaknesses CWE-269
References
Metrics cvssV3_1

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


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: Wordfence

Published:

Updated: 2026-10-31T07:46:47.528Z

Reserved: 2026-10-01T16:42:36.171Z

Link: CVE-2026-104012

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-10-31T08:16:47.893

Modified: 2026-10-31T08:16:47.893

Link: CVE-2026-104012

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-31T09:30:14Z

Weaknesses
  • CWE-269

    Improper Privilege Management