{"api_version":"1","generated_at":"2026-10-16T08:09:54+00:00","cve":"CVE-2026-104000","urls":{"html":"https://cve.report/CVE-2026-104000","api":"https://cve.report/api/cve/CVE-2026-104000.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-104000","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-104000"},"summary":{"title":"Simply Schedule Appointments <= 1.6.12.35 - Unauthenticated Stored Cross-Site Scripting via 'status' Parameter via /wp-json/ssa/v1/appointments/{id}","description":"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.","state":"PUBLISHED","assigner":"Wordfence","published_at":"2026-10-16 06:17:04","updated_at":"2026-10-16 06:17:04"},"problem_types":["CWE-79","CWE-79 CWE-79 Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')"],"metrics":[{"version":"3.1","source":"security@wordfence.com","type":"Primary","score":"7.2","severity":"HIGH","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N","data":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N","baseScore":7.2,"baseSeverity":"HIGH","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"NONE","userInteraction":"NONE","scope":"CHANGED","confidentialityImpact":"LOW","integrityImpact":"LOW","availabilityImpact":"NONE"}},{"version":"3.1","source":"CNA","type":"DECLARED","score":"7.2","severity":"HIGH","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N","data":{"baseScore":7.2,"baseSeverity":"HIGH","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N","version":"3.1"}}],"references":[{"url":"https://www.wordfence.com/threat-intel/vulnerabilities/id/3a8bd422-112c-43bc-a041-3c6eea27b790?source=cve","name":"https://www.wordfence.com/threat-intel/vulnerabilities/id/3a8bd422-112c-43bc-a041-3c6eea27b790?source=cve","refsource":"security@wordfence.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://plugins.trac.wordpress.org/browser/simply-schedule-appointments/tags/1.6.12.33/includes/class-appointment-model.php#L1490","name":"https://plugins.trac.wordpress.org/browser/simply-schedule-appointments/tags/1.6.12.33/includes/class-appointment-model.php#L1490","refsource":"security@wordfence.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://plugins.trac.wordpress.org/browser/simply-schedule-appointments/tags/1.6.12.33/includes/class-utils.php#L716","name":"https://plugins.trac.wordpress.org/browser/simply-schedule-appointments/tags/1.6.12.33/includes/class-utils.php#L716","refsource":"security@wordfence.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://plugins.trac.wordpress.org/browser/simply-schedule-appointments/tags/1.6.12.33/includes/class-debug.php#L92","name":"https://plugins.trac.wordpress.org/browser/simply-schedule-appointments/tags/1.6.12.33/includes/class-debug.php#L92","refsource":"security@wordfence.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://plugins.trac.wordpress.org/changeset/3746344/simply-schedule-appointments/trunk/includes/class-appointment-model.php","name":"https://plugins.trac.wordpress.org/changeset/3746344/simply-schedule-appointments/trunk/includes/class-appointment-model.php","refsource":"security@wordfence.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-104000","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-104000","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"croixhaug","product":"Simply Schedule Appointments","version":"affected 1.6.12.35 semver","platforms":[]}],"timeline":[{"source":"CNA","time":"2026-10-01T16:32:49.000Z","lang":"en","value":"Vendor Notified"},{"source":"CNA","time":"2026-10-15T16:43:21.000Z","lang":"en","value":"Disclosed"}],"solutions":[],"workarounds":[],"exploits":[],"credits":[{"source":"CNA","value":"Kuba","lang":"en"}],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":null,"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"cna":{"affected":[{"defaultStatus":"unaffected","product":"Simply Schedule Appointments","vendor":"croixhaug","versions":[{"lessThanOrEqual":"1.6.12.35","status":"affected","version":"0","versionType":"semver"}]}],"credits":[{"lang":"en","type":"finder","value":"Kuba"}],"descriptions":[{"lang":"en","value":"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."}],"metrics":[{"cvssV3_1":{"baseScore":7.2,"baseSeverity":"HIGH","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N","version":"3.1"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-79","description":"CWE-79 Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')","lang":"en","type":"CWE"}]}],"providerMetadata":{"dateUpdated":"2026-10-16T05:30:21.082Z","orgId":"b15e7b5b-3da4-40ae-a43c-f7aa60e62599","shortName":"Wordfence"},"references":[{"url":"https://www.wordfence.com/threat-intel/vulnerabilities/id/3a8bd422-112c-43bc-a041-3c6eea27b790?source=cve"},{"url":"https://plugins.trac.wordpress.org/browser/simply-schedule-appointments/tags/1.6.12.33/includes/class-debug.php#L92"},{"url":"https://plugins.trac.wordpress.org/browser/simply-schedule-appointments/tags/1.6.12.33/includes/class-appointment-model.php#L1490"},{"url":"https://plugins.trac.wordpress.org/browser/simply-schedule-appointments/tags/1.6.12.33/includes/class-utils.php#L716"},{"url":"https://plugins.trac.wordpress.org/changeset/3746344/simply-schedule-appointments/trunk/includes/class-appointment-model.php"}],"timeline":[{"lang":"en","time":"2026-10-01T16:32:49.000Z","value":"Vendor Notified"},{"lang":"en","time":"2026-10-15T16:43:21.000Z","value":"Disclosed"}],"title":"Simply Schedule Appointments <= 1.6.12.35 - Unauthenticated Stored Cross-Site Scripting via 'status' Parameter via /wp-json/ssa/v1/appointments/{id}"}},"cveMetadata":{"assignerOrgId":"b15e7b5b-3da4-40ae-a43c-f7aa60e62599","assignerShortName":"Wordfence","cveId":"CVE-2026-104000","datePublished":"2026-10-16T05:30:21.082Z","dateReserved":"2026-10-01T16:17:38.328Z","dateUpdated":"2026-10-16T05:30:21.082Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-10-16 06:17:04","lastModifiedDate":"2026-10-16 06:17:04","problem_types":["CWE-79","CWE-79 CWE-79 Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')"],"metrics":{"cvssMetricV31":[{"source":"security@wordfence.com","type":"Primary","cvssData":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N","baseScore":7.2,"baseSeverity":"HIGH","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"NONE","userInteraction":"NONE","scope":"CHANGED","confidentialityImpact":"LOW","integrityImpact":"LOW","availabilityImpact":"NONE"},"exploitabilityScore":3.9,"impactScore":2.7}]},"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"104000","Ordinal":"1","Title":"Simply Schedule Appointments <= 1.6.12.35 - Unauthenticated Stor","CVE":"CVE-2026-104000","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"104000","Ordinal":"1","NoteData":"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.","Type":"Description","Title":"Simply Schedule Appointments <= 1.6.12.35 - Unauthenticated Stor"}]}}}