Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain subscriber account and group id_token
-
DeliverySend crafted REST request with manipulated complete_group
-
ExploitBypass per-key validation (IDOR)
-
ExecutionEnumerate co-bookers' id_tokens and PII
-
ImpactReuse 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. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – 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
Affected Packages
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
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
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.
Primary rating from Vendor (Wordfence).
CVSS VectorVendor: Wordfence
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
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.
What every action level means
SSVC AssessmentENISA
Priority Score
More in Simply Schedule Appointments
View allSimply Schedule Appointments WordPress plugin before 1.6.12.6 exposes all site appointment records to unauthenticated us
The Appointment Booking Calendar WordPress plugin before 1.6.7.43 does not escape template syntax provided via user inpu
Broken access control in Simply Schedule Appointments WordPress plugin before 1.6.12.11 exposes all customer appointment
Stored Cross-Site Scripting in Simply Schedule Appointments up to 1.6.12.2 allows unauthenticated attackers to inject ar
Unauthenticated SQL injection in the Simply Schedule Appointments WordPress plugin (versions ≤ 1.6.9.27) allows remote a
Unauthenticated SQL injection in the Simply Schedule Appointments WordPress plugin (versions up to and including 1.6.12.
The Simply Schedule Appointments WordPress plugin before 1.5.7.7 is missing authorisation in a REST endpoint, allowing u
The Appointment Booking Calendar - Simply Schedule Appointments Booking Plugin plugin for WordPress is vulnerable to SQL
The Appointment Booking Calendar - Simply Schedule Appointments Booking Plugin plugin for WordPress is vulnerable to SQL
Cross-site request forgery in the Simply Schedule Appointments WordPress plugin (versions ≤ 1.6.12.23) enables an unauth
The Appointment Booking Calendar - Simply Schedule Appointments Booking Plugin WordPress plugin before 1.6.7.55 does not
The Appointment Booking Calendar - Simply Schedule Appointments Booking Plugin WordPress plugin before 1.6.7.55 does not
EUVD-2026-90466
GHSA-hm3p-9g7v-6rfw
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB