Skip to main content

Simply Schedule Appointments EUVDEUVD-2026-90466

| CVE-2026-91109 MEDIUM
Authorization Bypass Through User-Controlled Key (CWE-639)
2026-10-01 Wordfence GHSA-hm3p-9g7v-6rfw
6.5
CVSS 3.1 · Vendor: Wordfence
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Obtain subscriber account and group id_token
  2. Delivery
    Send crafted REST request with manipulated complete_group
  3. Exploit
    Bypass per-key validation (IDOR)
  4. Execution
    Enumerate co-bookers' id_tokens and PII
  5. Impact
    Reuse leaked tokens to read/overwrite/cancel appointments

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Object-level authorization, IDOR prevention
Exploitation Conditions

Requires an authenticated WordPress account at subscriber level or above (PR:L) AND possession of a valid id_token for at least one appointment within the targeted group booking - the explicit prerequisite stated in the description. Exploitation is otherwise remote, network-based, needs no user interaction, and works against the plugin's normal group-booking flow in Simply Schedule Appointments ≤1.6.12.31 via the 'complete_group' REST parameter. Limiting factors: the attacker must hold a group id_token, and impact is confined to co-bookers sharing that group booking, so exposure scales with how widely group bookings are used rather than being an open unauthenticated scan.

Impact

Signals point to a genuine but access-gated data-exposure and tampering flaw rather than a mass-exploitation priority. The CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N, 6.5) reflects easy network exploitation but requires authentication at subscriber level and above (PR:L) plus possession of a valid id_token for one appointment in the targeted group booking. No EPSS score, no CISA KEV listing, and no public exploit code were provided, so this is 'no public exploit identified at time of analysis' - not active or weaponized. The most important conflict is that Wordfence scored this confidentiality-only (C:H/I:N/A:N), but the description explicitly states the leaked tokens let the attacker 'read, overwrite arbitrary appointment meta on, or cancel' co-bookers' appointments - that is clear integrity and availability impact the vendor vector omits, so the real impact is understated (independently assessed closer to C:H/I:H/A:L). The id_token prerequisite further limits scope to co-bookers within a shared group booking, making this targeted rather than broadly scannable.

Exploit ScenarioDerived

An attacker registers or already holds a subscriber-level WordPress account and makes a legitimate group booking (or otherwise obtains one valid appointment id_token). They then call the REST controller with a manipulated 'complete_group' parameter to enumerate every co-booker's private id_token (returned as public_token) along with their name and email, and reuse each leaked token to read, overwrite appointment metadata, or cancel other people's appointments. No public proof-of-concept was provided, but the attack requires only low privileges and no user interaction.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
No patch listed yet 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 01, 2026

Authenticated WordPress users at subscriber level or above can exploit an insecure direct object reference in the Simply Schedule Appointments plugin (all versions up to and including 1.6.12.31) through the 'complete_group' parameter to harvest every co-booker's private per-appointment id_token (surfaced as public_token) along with their name and email address, then reuse each leaked token to read, overwrite arbitrary appointment metadata, or cancel the victim's booking via the same REST controller. Exploitation is access-gated rather than open to anonymous scans: the attacker must already hold a valid id_token for at least one appointment inside the targeted group booking, and the exposure is confined to co-bookers of that shared booking, so real-world risk scales with how heavily a site relies on group bookings. No public exploit code and no CISA KEV listing were identified at time of analysis, though an independent assessment rates integrity and availability impact higher than the vendor vector (CVSS 3.1 C:H/I:H/A:L versus the published C:H/I:N/A:N), reflecting the token-reuse tampering path.

RemediationAI

Primary action is to update the plugin beyond 1.6.12.31: the upstream correction is present in the plugin trunk changeset 3709365 (https://plugins.trac.wordpress.org/changeset/3709365/simply-schedule-appointments/trunk/includes/class-appointment-model.php), so upstream fix available (PR/commit); released patched version not independently confirmed. In practice, administrators should install the newest published Simply Schedule Appointments release and confirm the 'complete_group' path no longer returns foreign id_tokens, referencing the Wordfence advisory https://www.wordfence.com/threat-intel/vulnerabilities/id/d1cd3de2-16ca-4f95-ad6f-47cfbe00c959?source=cve. If the update cannot be applied immediately, compensating controls are: block or reject REST requests that supply the 'complete_group' parameter until patched, accepting that this disables the legitimate group-booking completion flow for all users; temporarily disable group bookings in the plugin settings, which removes the vulnerable exposure but also removes the feature; and restrict subscriber-level account creation by disabling open WordPress registration or tightening role provisioning, which raises the PR:L bar without addressing the underlying IDOR for existing subscribers. Sites that cannot patch should also treat any id_token as compromised, invalidate or rotate affected appointment tokens where the plugin allows it, review appointment records for unauthorised metadata changes or cancellations, and add WAF or reverse-proxy logging on the plugin REST endpoints so that anomalous 'complete_group' enumeration is detectable. Note that none of these workarounds fix the missing authorisation check itself; they only reduce reachability, and the parameter-blocking and feature-disable options carry a direct functional cost for sites that depend on shared group appointments.

Affected VersionsENISA

Simply Schedule Appointments 0 ≤1.6.12.31

Affected Packages

euvd simply_schedule_appointments no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The flaw is a classic CWE-639 Authorization Bypass Through User-Controlled Key, also known as IDOR, in the REST controller of the Simply Schedule Appointments WordPress plugin (CPE cpe:2.3:a:croixhaug:simply_schedule_appointments:*:*:*:*:*:*:*:*). The plugin implements a group-booking flow in which each individual appointment carries a per-appointment 'id_token' that functions as a bearer-style capability: possession of the token is what authorises read and write operations on that appointment, rather than an ownership check against the requesting WordPress user. The 'complete_group' request parameter is used to key into group booking records, but the vulnerable code path does not validate that the caller is entitled to the referenced key before it returns the associated tokens and booker data. The affected logic sits in includes/class-appointment-model.php (referenced at lines 1966, 2315 and 3160 of tag 1.6.12.27) and includes/class-db-model.php (line 348), consistent with a missing authorisation check around token retrieval and appointment-meta lookup. Because the leaked id_token is itself the authorisation artefact, a single leaked token for one appointment in the group is enough to pivot to every other co-booker's appointment data, which the REST controller then serves back for read, meta-overwrite and cancellation operations. Subscriber-level WordPress accounts are commonly self-registrable, so the PR:L prerequisite is low friction on sites with open registration, but the additional requirement of holding at least one valid group id_token keeps this out of the unauthenticated mass-exploitation class.

Know when Simply Schedule Appointments gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (Wordfence) PRIMARY 6.5 MEDIUM
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
vuln.today AI 8.3 HIGH

PR:L for the required subscriber account plus a held group id_token; C:H for token/PII disclosure, I:H for arbitrary meta overwrite, A:L for appointment cancellation that the vendor's C-only vector omits.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:L
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:L/SC:N/SI:N/SA:N

Primary rating from Vendor (Wordfence).

CVSS VectorVendor: Wordfence

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
None
Availability
None

DescriptionCVE.org

The Simply Schedule Appointments plugin for WordPress is vulnerable to Insecure Direct Object Reference in all versions up to, and including, 1.6.12.31 via the 'complete_group' parameter due to missing validation on a user controlled key. This makes it possible for authenticated attackers, with subscriber-level access and above, to disclose every co-booker's private per-appointment id_token (exposed as public_token) alongside their PII (name and email address), then use each leaked token to read, overwrite arbitrary appointment meta on, or cancel the co-booker's appointment via the same REST controller. Exploitation requires the attacker to possess a valid id_token for any single appointment within the targeted group booking.

Threat Intelligence Overview

EPSS Score
0.3%
Top 77% exploitable
Prevalence
Low
niche WordPress appointment-booking plugin, limited enterprise footprint
Data Quality
4 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.3%
Patch available No
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

32
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +32
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0
CVE-2026-16540 HIGH POC
7.5 Aug 02

Simply Schedule Appointments WordPress plugin before 1.6.12.6 exposes all site appointment records to unauthenticated us

CVE-2024-7129 HIGH POC
7.2 Sep 13

The Appointment Booking Calendar WordPress plugin before 1.6.7.43 does not escape template syntax provided via user inpu

CVE-2026-15254 MEDIUM POC
6.5 Aug 03

Broken access control in Simply Schedule Appointments WordPress plugin before 1.6.12.11 exposes all customer appointment

CVE-2026-13400 MEDIUM POC
6.1 Jul 27

Stored Cross-Site Scripting in Simply Schedule Appointments up to 1.6.12.2 allows unauthenticated attackers to inject ar

CVE-2026-39493 CRITICAL
9.3 Jun 15

Unauthenticated SQL injection in the Simply Schedule Appointments WordPress plugin (versions ≤ 1.6.9.27) allows remote a

CVE-2026-65508 CRITICAL
9.3 Aug 06

Unauthenticated SQL injection in the Simply Schedule Appointments WordPress plugin (versions up to and including 1.6.12.

CVE-2022-2373 MEDIUM POC
5.3 Aug 29

The Simply Schedule Appointments WordPress plugin before 1.5.7.7 is missing authorisation in a REST endpoint, allowing u

CVE-2024-2341 HIGH
8.8 Apr 09

The Appointment Booking Calendar - Simply Schedule Appointments Booking Plugin plugin for WordPress is vulnerable to SQL

CVE-2024-2342 HIGH
8.8 Apr 09

The Appointment Booking Calendar - Simply Schedule Appointments Booking Plugin plugin for WordPress is vulnerable to SQL

CVE-2026-84764 HIGH
8.8 Sep 02

Cross-site request forgery in the Simply Schedule Appointments WordPress plugin (versions ≤ 1.6.12.23) enables an unauth

CVE-2024-7877 MEDIUM POC
4.8 Nov 05

The Appointment Booking Calendar - Simply Schedule Appointments Booking Plugin WordPress plugin before 1.6.7.55 does not

CVE-2024-7876 MEDIUM POC
4.8 Nov 05

The Appointment Booking Calendar - Simply Schedule Appointments Booking Plugin WordPress plugin before 1.6.7.55 does not

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy