Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessIdentify WP site running SSA ≤1.6.12.32
-
DeliverySend request with abused 'recursive' parameter
-
ExploitEnumerate PII and public_token values
-
ExecutionReplay token to DELETE arbitrary appointments
-
ImpactExfiltrate customer data and destroy records
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization checks on every request
MITRE ATT&CK
1 technique across 1 tactic: Privilege Escalation The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | No special conditions - remote unauthenticated exploitation against default configurations of the Simply Schedule Appointments WordPress plugin (versions up to and including 1.6.12.32). Exploitation specifically requires sending the 'recursive' parameter to the affected appointment/REST endpoint; the secondary deletion step requires the DELETE /wp-json/ssa/v1/appointments/{id} endpoint, which accepts a leaked per-appointment public_token as sole authorization. The only limiting factor is that the target site must run the plugin at a vulnerable version; no authentication, user interaction, or non-default setting is needed. |
| Impact | This is a genuinely high-priority flaw despite the absence of exploitation telemetry. The CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N) is confirmed by the fully unauthenticated, network-reachable, low-complexity nature of the bug: a single crafted request abusing the 'recursive' parameter dumps customer PII and per-appointment public_token values, with no auth, no user interaction, and against default installs. No EPSS score, CISA KEV listing, or public POC was provided in the input, so exploitation status is 'no public exploit identified at time of analysis' - but WordPress plugin information-disclosure bugs of this class are historically automated at scale once a Wordfence advisory and patch diff are public, and the referenced trac changeset (3709365) gives attackers a ready-made before/after to reverse. The vendor's vector scores only C:H (I:N/A:N), which UNDERSTATES real impact: the description explicitly states the leaked public_token values let an unauthenticated attacker delete arbitrary appointments via DELETE /wp-json/ssa/v1/appointments/{id}, which is an integrity impact the base vector omits. Net: treat as a real, prioritize-now issue (confidentiality breach of regulated PII plus a destructive secondary action), not a high-CVSS-but-low-risk paper cut. |
| Exploit ScenarioDerived | An unauthenticated attacker sends a crafted REST request to a vulnerable Simply Schedule Appointments endpoint abusing the 'recursive' parameter, causing the API to return appointment records including customer names, emails, phone numbers, custom form fields, and each appointment's public_token. The attacker then replays each leaked token against DELETE /wp-json/ssa/v1/appointments/{id} - which accepts the token as sole authorization - to wipe arbitrary appointments. No public exploit code was identified in the provided data, but the vendor advisory and patch changeset make the flaw trivially reproducible. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 01, 2026
Unauthenticated attackers can harvest customer PII (names, email addresses, phone numbers, custom form field data) and per-appointment public_token values from any WordPress site running the Simply Schedule Appointments plugin through version 1.6.12.32 by supplying a crafted 'recursive' parameter to the plugin's appointment REST endpoints. Because the leaked public_token is the sole authorization credential for DELETE /wp-json/ssa/v1/appointments/{id}, the same flaw lets those attackers destroy arbitrary appointment records, which is why the assessed impact includes a low integrity component (CVSS 3.1: AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:N; 7.5 base). No authentication, user interaction, or non-default configuration is required, and no public exploit code or confirmed active exploitation was identified at time of analysis - nevertheless this should be treated as a high-priority issue because it combines bulk PII disclosure with a trivial destructive follow-on against default installs.
RemediationAI
The primary fix is to update the Simply Schedule Appointments plugin to a release newer than the last-affected 1.6.12.32 - the upstream code change is recorded in trunk changeset 3709365 (https://plugins.trac.wordpress.org/changeset/3709365/simply-schedule-appointments/trunk/includes/class-appointment-type-model.php), so an upstream fix is available in the plugin repository, though a specifically tagged patched release is not independently confirmed from the supplied data; verify the installed version after updating and confirm it no longer exposes the recursive query path. If patching must be deferred, the most reliable compensating control is to temporarily deactivate the plugin or place the whole site behind maintenance mode, accepting the loss of booking functionality as the trade-off. Alternatively, restrict the plugin's REST namespace at the web server or WAF by denying requests to /wp-json/ssa/v1/appointments that carry a 'recursive' parameter and blocking DELETE methods on that route entirely; this stops both the PII export and the deletion primitive, but overly broad rules can break legitimate administrative or booking-calendar flows, so test against normal site usage. Sites with database access can also invalidate existing appointment public_token values so any tokens already scraped cannot be replayed against the DELETE endpoint, noting that tokens are user-facing in confirmation emails and regeneration may invalidate pending customer links. Finally, review WordPress and web server logs for unauthenticated GET requests to the plugin's appointment endpoints containing a 'recursive' parameter, as such requests are the direct signature of this flaw, and treat any prior occurrence as evidence that customer PII and appointment tokens were already exposed. Full details and updates are maintained in the Wordfence advisory at https://www.wordfence.com/threat-intel/vulnerabilities/id/1984f80e-06ec-4d7f-9a75-e05e7b73b57c?source=cve.
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 vulnerability sits in the custom data-access/REST layer of the Simply Schedule Appointments WordPress plugin (CWE-862, Missing Authorization). The plugin implements its own API model abstraction (includes/lib/td-util/class-td-api-model.php) and database model (includes/class-db-model.php), with appointment-type and appointment models (class-appointment-type-model.php, class-appointment-model.php) exposing query parameters - including 'recursive' - that cause relational traversal from one model to related records. The code path handling 'recursive' does not perform an authorization check before returning related appointment rows, so an unauthenticated caller reaching the endpoint through class-bootstrap.php's REST registration can pull the full appointment dataset rather than just the intended public-facing subset. The exposed dataset includes customer PII and per-appointment public_token values; the plugin's public_token is designed as a shareable per-record identifier and is accepted as the sole authorization on DELETE /wp-json/ssa/v1/appointments/{id}, meaning disclosure of tokens converts a read-only information leak into an unauthenticated deletion primitive. CPE data identifies the affected package as cpe:2.3:a:croixhaug:simply_schedule_appointments:*:*:*:*:*:*:*:*; the analyzed source references are tagged 1.6.12.27, confirming the vulnerable code paths are long-standing and present in the 1.6.12.x line through the stated last-affected version 1.6.12.32.
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:N/UI:N/S:U/C:H/I:N/A:N
Unauthenticated network exploitation of a missing-authz endpoint yields C:H for PII exposure; the chained token-based arbitrary-appointment deletion adds I:L, which the vendor vector omits.
Primary rating from Vendor (Wordfence).
CVSS VectorVendor: Wordfence
DescriptionCVE.org
The Simply Schedule Appointments plugin for WordPress is vulnerable to Sensitive Information Exposure in all versions up to, and including, 1.6.12.32 via the 'recursive' parameter. This makes it possible for unauthenticated attackers to extract customer PII - including names, email addresses, phone numbers, and custom form field data - stored in appointment records, as well as per-appointment public_token values. The leaked per-appointment public_token values also enable unauthenticated attackers to delete arbitrary appointments via the DELETE /wp-json/ssa/v1/appointments/{id} endpoint, which accepts the token as sole authorization.
Executive ViewAI
Any WordPress site running the Simply Schedule Appointments plugin at version 1.6.12.32 or earlier exposes customer personal data - names, emails, phone numbers, and custom form entries - to unauthenticated bulk extraction, without any login, user action, or special configuration. Because the same flaw leaks the token that authorizes appointment deletion, an attacker can also destroy arbitrary booking records on default installs. Leadership should care because the affected population is our customers and prospects whose data the plugin stores, and the failure is reachable by anyone on the internet, creating simultaneous privacy-notification and business-continuity exposure.
No vendor-released patch identified at time of analysis. Interim mitigations: deactivate or remove the Simply Schedule Appointments plugin where feasible; where the plugin must remain, block or IP-restrict external access to the /wp-json/ssa/v1/ REST endpoints, block requests containing a crafted 'recursive' parameter at the WAF or reverse proxy, monitor and alert on anomalous GET and DELETE activity against those endpoints, and preserve logs for privacy and legal review of potential PII exposure.
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
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
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-90464
GHSA-3frh-27r2-gj5w
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB