CVE-2026-48086 in appointment-booking-softwareinfo

Summary

by MITRE • 08/07/2026

OpenReception's appointment booking software provides an end-to-end encrypted appointment booking platform. Prior to version 1.0.2, a TENANT_ADMIN promotes themselves to platform-wide GLOBAL_ADMIN through a single PUT request. The role-update handler accepts the `GLOBAL_ADMIN` enum value from any tenant admin updating their own tenant's staff. No policy check enforces that "only an existing GLOBAL_ADMIN may grant GLOBAL_ADMIN", so the schema validation IS the authorization decision. After re-login, the JWT contains the new role and the formerly-tenant-scoped admin reaches every other tenant on the platform. On the hosted OpenReception service this is a scope-changed escalation: a single customer-side tenant administrator gains full platform-wide administrative control over all other tenants' configuration, users, staff records, operational metadata, and tenant lifecycle. Plaintext appointment contents remain subject to the E2E model unless chained with the staff-crypto poisoning issue (V-4) or with staff-passkey hijacking (V-1). On a single-tenant self-hosted deployment it is still a privilege escalation because TENANT_ADMIN should not be able to create new tenants, modify global configuration, or manage other administrators. The same handler also accepts updates targeted at any colleague within the tenant. A tenant admin can promote a separate collaborator account instead of themselves, leaving their own audit trail clean while the platform-wide breach happens through a separate identity. Version 1.0.2 fixes the issue.

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

Analysis

by VulDB Data Team • 08/07/2026

The vulnerability in OpenReception's appointment booking software represents a critical authorization flaw that enables privilege escalation from tenant-level administrative privileges to platform-wide global administrator access. This security weakness stems from inadequate authorization controls within the role-update handler mechanism, where the system fails to validate whether the requesting user possesses the necessary permissions to grant elevated roles. The vulnerability manifests through a single PUT request that allows any tenant administrator to promote themselves or other users to the GLOBAL_ADMIN role, bypassing proper authorization checks that should require existing global administrators to authorize such role changes. This design flaw directly violates fundamental security principles of least privilege and principle of least authority, creating a scenario where a single compromised tenant administrator can gain control over all tenants within the platform.

The technical implementation of this vulnerability occurs at the schema validation level, where the system relies on input validation rather than proper authorization logic to make access control decisions. This approach creates a dangerous dependency where the same validation mechanism that accepts legitimate data also determines who can assume elevated privileges. The absence of policy checks means that any tenant administrator can manipulate the role-update endpoint to elevate their own privileges or those of other users, effectively converting tenant-scoped administrative rights into platform-wide administrative capabilities. When the affected user re-authenticates, the JSON Web Token (JWT) contains the updated role information, allowing them to access resources and perform actions across all tenants within the platform. This authentication token transformation represents a classic case of scope creep where a user's authorization scope expands beyond their intended boundaries without proper validation or auditing.

The operational impact of this vulnerability extends far beyond simple privilege escalation, creating a comprehensive breach scenario that compromises the entire platform's security posture. In the hosted service environment, this vulnerability enables a single customer-side tenant administrator to gain full administrative control over all other tenants' configurations, user accounts, staff records, and operational metadata, effectively nullifying the multi-tenant isolation model that should protect individual customer data. The breach allows access to sensitive information including appointment contents, staff credentials, and platform configuration parameters that should remain isolated between tenants. Even in single-tenant self-hosted deployments, this vulnerability represents a serious privilege escalation issue since tenant administrators should never be able to create new tenants, modify global configurations, or manage other administrators within the system. The vulnerability also enables attackers to maintain operational stealth by promoting collaborators instead of themselves, thereby preserving their own audit trails while conducting platform-wide breaches through separate identities.

The exploitation of this vulnerability follows a systematic approach that leverages the absence of proper authorization controls and the trust placed in schema validation mechanisms. Attackers can initiate the breach by sending a single PUT request to the role-update endpoint, which requires no additional authentication factors beyond existing tenant administrator credentials. The system's failure to enforce role-based access control policies means that the same endpoint used for legitimate role management becomes a vector for privilege escalation. Once the role is updated, the affected user must re-authenticate to receive the new JWT token containing platform-wide administrative privileges. This process allows attackers to seamlessly transition from tenant-level access to complete platform control without triggering any security alerts or requiring additional compromise methods.

The mitigation implemented in version 1.0.2 addresses the core authorization flaw by introducing proper policy checks that ensure only existing global administrators can grant global administrator roles. This fix aligns with established security frameworks such as CWE-284 (Improper Access Control) and follows ATT&CK techniques related to privilege escalation through access control manipulation. The updated implementation requires explicit authorization verification before allowing role changes, preventing the scenario where any tenant administrator can elevate their privileges or those of other users. Additionally, the fix should include proper audit logging of role change operations to detect and respond to unauthorized privilege escalation attempts, ensuring compliance with security standards that require comprehensive monitoring and logging of administrative activities.

This vulnerability demonstrates the critical importance of implementing proper authorization controls within authentication systems, particularly in multi-tenant environments where isolation between customers is paramount. The flaw exemplifies how schema validation alone cannot substitute for robust authorization logic and highlights the dangers of relying on input validation as the sole mechanism for access control decisions. Organizations deploying similar systems must ensure that role management endpoints include proper authorization checks that validate not only the legitimacy of the requested change but also the authority of the requesting user to make such changes. The incident underscores the necessity of following security best practices such as implementing role-based access control (RBAC), conducting regular security reviews of authorization mechanisms, and ensuring that privilege escalation paths are carefully controlled and monitored to prevent unauthorized access to platform-wide resources.

Responsible

GitHub M

Reservation

05/20/2026

Disclosure

08/07/2026

Moderation

accepted

CPE

ready

EPSS

0.00000

KEV

no

Activities

low

Sources

Do you know our Splunk app?

Download it now for free!