Skip to main content

Simply Schedule Appointments CVE-2026-104000

| EUVDEUVD-2026-102663 HIGH
Cross-site Scripting (XSS) (CWE-79)
2026-10-16 Wordfence GHSA-hh9h-qh43-jq4f
7.2
CVSS 3.1 · Vendor: Wordfence
View

Attack ChainAIDerived

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

  1. Access
    Send crafted 'status' parameter unauthenticated
  2. Delivery
    Payload stored in default-on debug log
  3. Exploit
    Admin opens debug-log viewer via Support PIN
  4. Execution
    Injected script runs in admin session
  5. Impact
    Hijack 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.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
No patch listed yet 0.2% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – 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

Simply Schedule Appointments 0 ≤1.6.12.35

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

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

Vendor (Wordfence) PRIMARY 7.2 HIGH
AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N
vuln.today AI 6.1 MEDIUM

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).

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

Primary rating from Vendor (Wordfence).

CVSS VectorVendor: Wordfence

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

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

Why It Matters

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.

Business Impact: High
Compensating Controls

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

EPSS Score
0.2%
Top 86% exploitable
Prevalence
Medium
appointment-booking WordPress plugin with moderate install base, not universal
Social Media
1
Sightings
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 HIGH
CISA KEV No
Public POC No
EPSS 0.2%
Patch available No
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.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
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Partial

Priority Score

36
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +36
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.

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