Every CVESearch/Get API key

CVE-2026-104012

Rox Appointment Booking <= 1.3.1 - Unauthenticated Privilege Escalation via Mass Assignment to Mass Assignment via '/public/booking' Endpoint

8.8 High

CVE-2026-104012 is a high vulnerability (CVSS 8.8) in Roxnor Rox Appointment Booking – Event, Calendar & Appointment Scheduling, published October 31, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.28%, the 20th percentile. No source names a fixed version.

What does this mean?
Severity
8.8 HighCVSS 3.1, CVE List
Exploit chance
0.28%EPSS, 20th percentile
Exploitation
None knownNot on CISA’s or ENISA’s lists
Fixed in
No fix listedNo source names one

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).

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
Low
Privileges needed
None
User interaction
Required

What an attacker can affect

Confidentiality
High
Integrity
High
Availability
High

Exploit likelihood

0.28%Unchanged since Oct 31, 2026
90%50%10%1%

Discussion

Quiet in the last day.
14 days ago: 0 people13 days ago: 0 people12 days ago: 1 person11 days ago: 0 people10 days ago: 0 people9 days ago: 0 people8 days ago: 0 people7 days ago: 0 people6 days ago: 0 people5 days ago: 0 people4 days ago: 0 people3 days ago: 0 people2 days ago: 0 people1 day ago: 0 peopleLast 24 hours: 0 people

Affected products

What each source reports

CVE List Score used8.8

Rox Appointment Booking <= 1.3.1 - Unauthenticated Privilege Escalation via Mass Assignment to Mass Assignment via '/public/booking' Endpoint

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).

Record
CVE-2026-104012
CVSS 3.1
8.8 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
Weakness
CWE-269
Updated
2026-11-02
EUVDEUVD-2026-1146458.8

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).

Record
EUVD-2026-114645
CVSS 3.1
8.8 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
Updated
2026-11-02
GitHub AdvisoriesGHSA-8cr7-x3xr-ppw58.8

The Rox Appointment Booking – Appointment Booking Scheduling Solution plugin for WordPress is...

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).

Record
GHSA-8cr7-x3xr-ppw5
CVSS 3.1
8.8 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
Weakness
CWE-269
Updated
2026-11-02
NVD8.8

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).

Record
CVE-2026-104012
CVSS 3.1
8.8 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
Weakness
CWE-269
Updated
2026-11-02

History

History
RecordedChangedSources
first indexedCVE List, EUVD, GitHub Advisories, NVD

Dates are when Every CVE recorded each change. Upstream dates may differ.

References

MoveEnter Open