CVE-2026-7797: Appointment Booking Calendar (WordPress plugin) · SQL Injection
Affects Appointment Booking Calendar (WordPress plugin)Source CVE Database V5
Not known to be exploited · CVSS 7.5 High.
Data as of 29 Oct 2026, 19:04 UTC
- EPSS
- 0.5% chance of exploitation in 30 days – higher than 46% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:NExploitation evidence
Disclosed: evidence found.
CVE published 28 May 2026
Detectable: no evidence on record.
No public nuclei template indexed
Weaponized: no evidence on record.
No public exploit code indexed in Metasploit or Exploit-DB
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 29 Oct 2026.
What to do
Affected software
| Product | Affected | Fixed in |
|---|---|---|
| croixhaugAppointment Booking Calendar — Simply Schedule Appointments Booking Plugin | Affected
| Fixed in– |
AI-suggested
Until a patch is available, consider restricting access to the /appointments/bulk REST endpoint or disabling the plugin if feasible. Monitor vendor channels for updates and apply official patches promptly once released.
Description
The Appointment Booking Calendar — Simply Schedule Appointments Booking Plugin plugin for WordPress is vulnerable to time-based blind SQL Injection via the 'append_where_sql' parameter in all versions up to, and including, 1.6.11.8 due to insufficient escaping on the user supplied parameter and lack of sufficient preparation on the existing SQL query. This makes it possible for unauthenticated attackers to append additional SQL queries into already existing queries that can be used to extract sensitive information from the database. The /appointments/bulk REST endpoint is reachable by unauthenticated attackers because its permission check accepts a public nonce that is embedded in the booking widget's frontend JavaScript (ssa.api.public_nonce) and visible to all site visitors; exploitation requires issuing the request as a PUT with an application/x-www-form-urlencoded body so that PHP's superglobals are not populated and the blocklist check silently passes.
References
- wordfence.com/threat-intel/vulnerabilities/id/db3bddbd-44b0-4105-9039-0d669d643481?source=cve (opens in a new tab)
- plugins.trac.wordpress.org/browser/simply-schedule-appointments/trunk/includes/lib/td-util/class-td-db-model.php (opens in a new tab)
- plugins.trac.wordpress.org/browser/simply-schedule-appointments/tags/1.6.11.2/includes/lib/td-util/class-td-db-model.php (opens in a new tab)
- plugins.trac.wordpress.org/browser/simply-schedule-appointments/trunk/includes/lib/td-util/class-td-api-model.php (opens in a new tab)
- plugins.trac.wordpress.org/browser/simply-schedule-appointments/tags/1.6.11.2/includes/lib/td-util/class-td-api-model.php (opens in a new tab)
- plugins.trac.wordpress.org/browser/simply-schedule-appointments/trunk/includes/lib/td-util/class-td-api-model.php (opens in a new tab)
- plugins.trac.wordpress.org/browser/simply-schedule-appointments/tags/1.6.11.2/includes/lib/td-util/class-td-api-model.php (opens in a new tab)
- plugins.trac.wordpress.org/browser/simply-schedule-appointments/tags/1.6.10.2/includes/lib/td-util/class-td-db-model.php (opens in a new tab)
- plugins.trac.wordpress.org/browser/simply-schedule-appointments/tags/1.6.10.2/includes/lib/td-util/class-td-api-model.php (opens in a new tab)
- plugins.trac.wordpress.org/browser/simply-schedule-appointments/tags/1.6.10.2/includes/lib/td-util/class-td-api-model.php (opens in a new tab)
- plugins.trac.wordpress.org/changeset/3549843/simply-schedule-appointments/tags/1.6.11.9/includes/lib/td-util/class-td-db-model.php (opens in a new tab)