Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessSend crafted 'status' parameter unauthenticated
-
DeliveryPayload stored in default-on debug log
-
ExploitAdmin opens debug-log viewer via Support PIN
-
ExecutionInjected script runs in admin session
-
ImpactHijack administrator session / act in admin context
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | The 'status' parameter accepts attacker input without sanitization, and the payload is stored unconditionally because debug logging is enabled by DEFAULT - so no special attacker configuration is needed to plant the script. Execution, however, is gated: the injected JavaScript only runs when someone opens the plugin's debug-log viewer, which is reachable by anyone possessing the site-wide Support PIN (an HMAC-MD5 of AUTH_SALT shown in wp-admin), and realistically fires against an administrator or support agent performing troubleshooting. Limiting factors for defenders: the payload does not auto-execute against arbitrary visitors - it requires a privileged user to access the debug-log viewer, so sites that rarely use the debug log or that restrict/rotate the Support PIN face reduced practical risk. Affected deployments are WordPress installations running Simply Schedule Appointments version 1.6.12.35 or earlier. |
| Impact | Signals are moderately concerning but do not indicate an urgent, widespread threat. The CVSS 3.1 base score of 7.2 (High) with vector AV:N/AC:L/PR:N/UI:N/S:C reflects an unauthenticated, network-reachable injection point with a changed scope, because the stored payload ultimately executes in the context of a privileged administrator session rather than the attacker's own. No EPSS probability was supplied, there is no CISA KEV listing, and no public exploit code is referenced, so this is currently 'no public exploit identified at time of analysis' and not confirmed active exploitation. A key internal tension must be flagged: the official vector asserts UI:N, but the description explicitly states the script fires only 'whenever a user accesses an injected page' - i.e., when an administrator opens the debug-log viewer during support/troubleshooting - which is user interaction in practice; verify UI metric with Wordfence. The impact is also rated C:L/I:L/A:N (limited), consistent with reflected session-context script execution rather than full takeover, though XSS firing against an admin session can be chained toward account/site compromise. Net: a legitimate High-severity stored XSS worth patching promptly on affected WordPress sites, but absent KEV, EPSS, and POC data it reads as a credible-but-not-emergency issue rather than a mass-exploited priority. |
| Exploit ScenarioDerived | An unauthenticated attacker submits a crafted value in the 'status' parameter to the Simply Schedule Appointments plugin, which is stored unconditionally in the plugin debug log because debug logging is enabled by default. When an administrator or support agent later opens the debug-log viewer (accessible to anyone holding the site-wide Support PIN) during ordinary troubleshooting, the injected JavaScript executes in the admin's authenticated browser session. No public exploit code is referenced, but the injection path and default-on logging make it straightforwardly reproducible. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 16, 2026
Unauthenticated attackers can store arbitrary JavaScript in WordPress sites running the Simply Schedule Appointments plugin through version 1.6.12.35 by submitting an unsanitized 'status' parameter; the payload is written to the plugin's debug log unconditionally because debug logging is enabled by default. The script does not fire automatically for arbitrary visitors: execution is gated behind the plugin's debug-log viewer, which is reachable by anyone holding the site-wide Support PIN (an HMAC-MD5 of AUTH_SALT displayed in wp-admin), so the realistic victim is an administrator or support agent reviewing the log during routine troubleshooting, where the script executes in their session (assessed CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N). There is no CISA KEV listing and no public exploit code identified at time of analysis, and the practical risk is lower on sites that rarely open the debug log or that rotate/restrict the Support PIN; signals are moderately concerning but do not indicate an urgent, widespread threat.
RemediationAI
Upstream fix available (PR/commit); released patched version not independently confirmed. The maintainer's corrective changeset is published at https://plugins.trac.wordpress.org/changeset/3746344/simply-schedule-appointments/trunk/includes/class-appointment-model.php, which amends the appointment-model handling of the 'status' value, so the primary action is to update Simply Schedule Appointments to the newest release later than 1.6.12.35 available from the WordPress plugin repository (verify the changelog rather than assuming a specific version number, since no exact fixed tag is confirmed in the supplied data). If updating immediately is not possible, the single highest-value compensating control is to turn off the plugin's debug logging and stop opening the debug-log viewer, since the stored payload only executes when a privileged user renders that view; the trade-off is loss of diagnostic output during troubleshooting. Because the log viewer is gated only by the site-wide Support PIN, treat that PIN as a credential: restrict who can see it in wp-admin, avoid sharing it over chat or email, rotate the underlying AUTH_SALT (which invalidates all existing sessions and PINs) if exposure is suspected, and limit wp-admin access by IP allowlist or an additional authentication layer in front of the plugin's admin pages. Blocking the appointment endpoint at the WAF for 'status' values containing markup is a stopgap only, since the defect is storage-side and evasion is trivial; sites that do not actively use appointment scheduling should consider deactivating or removing the plugin until a patched build is confirmed installed. Consult the vendor advisory at https://www.wordfence.com/threat-intel/vulnerabilities/id/3a8bd422-112c-43bc-a041-3c6eea27b790?source=cve for the maintainer's own guidance.
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
This is a stored cross-site scripting flaw (CWE-79, improper neutralization of input during web page generation) in the WordPress plugin Simply Schedule Appointments, maintained by croixhaug (CPE cpe:2.3:a:croixhaug:simply_schedule_appointments:*:*:*:*:*:*:*:*). The 'status' parameter accepted by the appointment model (class-appointment-model.php) is neither sanitized on input nor escaped on output, so attacker-supplied markup is persisted and later rendered as HTML. The unusual amplifier here is the plugin's diagnostic subsystem: the injected value is written to the debug log unconditionally because debug logging ships enabled by default, and the log viewer (class-debug.php) renders stored entries without adequate escaping. Access to that viewer is not tied to normal WordPress capabilities but to a site-wide Support PIN, computed as an HMAC-MD5 of AUTH_SALT and displayed in wp-admin, which is a weak and shareable secret rather than an authorization boundary. The CVSS vector's scope change (S:C) reflects that code planted by an unauthenticated party executes in the higher-privileged context of an administrator's browser session; the assessed vector adds UI:R (rather than the reported UI:N) because a privileged user must open the debug-log viewer for the payload to run, and the impact is limited to confidentiality and integrity (C:L/I:L) with no availability effect.
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:C/C:L/I:L/A:N
Injection is remote and unauthenticated (AV:N/PR:N) with default-on logging (AC:L), but execution needs a privileged user to open the debug-log viewer (UI:R) and runs in their session (S:C, C:L/I:L).
Primary rating from Vendor (Wordfence).
CVSS VectorVendor: Wordfence
DescriptionCVE.org
The Simply Schedule Appointments plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'status' parameter in all versions up to, and including, 1.6.12.35 due to insufficient input sanitization and output escaping. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. The malicious payload is stored unconditionally because debug logging is enabled by default, and the debug-log viewer is accessible to anyone holding the site-wide Support PIN (an HMAC-MD5 of AUTH_SALT displayed in wp-admin), meaning the injected script will execute against the administrator's session during ordinary support or troubleshooting workflows.
Executive ViewAI
WordPress sites running the Simply Schedule Appointments plugin through version 1.6.12.35 are exposed to a high-severity stored cross-site scripting issue that can execute in an administrator or support agent's session when they review the plugin's debug log. Because no vendor patch is currently available, affected organizations must rely on access restrictions and operational workarounds to reduce the risk of session compromise or follow-on site manipulation. Leadership should care because administrative session compromise could lead to unauthorized changes on public-facing WordPress properties, though exploitation requires the attacker to obtain the site-wide Support PIN and the victim to open the debug log.
No vendor-released patch identified at time of analysis. Interim mitigations include restricting access to the plugin debug-log viewer and Support PIN, rotating the Support PIN/AUTH_SALT if feasible, disabling plugin debug logging if configurable, avoiding opening the debug log until fixed, and deactivating the plugin on high-risk or internet-facing sites.
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
Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.
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-102663
GHSA-hh9h-qh43-jq4f
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB