Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Primary rating from NVD · only source for this CVE.
CVSS VectorNVD
Lifecycle Timeline
2DescriptionCVE.org
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.
AnalysisAI
Time-based blind SQL injection in the Simply Schedule Appointments WordPress plugin (versions up to and including 1.6.11.8) allows unauthenticated remote attackers to extract sensitive database contents through the 'append_where_sql' parameter on the /appointments/bulk REST endpoint. The endpoint's permission check accepts a public nonce embedded in the booking widget's frontend JavaScript, and a PUT request with a urlencoded body bypasses the plugin's blocklist by preventing PHP from populating the relevant superglobals. No public exploit identified at time of analysis, though Wordfence has documented the technique in detail.
Technical ContextAI
The vulnerability is a classic CWE-89 SQL Injection rooted in insufficient escaping and lack of prepared statements in the plugin's database access layer (class-td-db-model.php around line 1049) and REST API model (class-td-api-model.php lines 304 and 361). The 'append_where_sql' parameter is concatenated into an existing query rather than passed through wpdb::prepare(), allowing attackers to append arbitrary SQL fragments. The bypass leverages two WordPress and PHP behaviors: first, that public nonces intended for frontend widgets (ssa.api.public_nonce) are exposed to every site visitor in page HTML/JS, and second, that PHP only populates $_POST when the Content-Type matches form-encoded data on POST requests - by using PUT with application/x-www-form-urlencoded, the blocklist check that scans superglobals silently passes while the raw body still reaches the vulnerable handler.
RemediationAI
Upstream fix available (changeset 3549843 against tag 1.6.11.9); the patched release should be applied by upgrading the Simply Schedule Appointments plugin to version 1.6.11.9 or later via the WordPress admin plugins screen, with the changeset visible at https://plugins.trac.wordpress.org/changeset/3549843/simply-schedule-appointments/tags/1.6.11.9/includes/lib/td-util/class-td-db-model.php. If immediate patching is not possible, compensating controls include blocking PUT requests to /wp-json/ssa/v1/appointments/bulk at the WAF or reverse proxy (side effect: any legitimate plugin features relying on PUT to that endpoint will break), restricting access to /wp-json/ssa/* to known booking-form referrers or IPs (side effect: may block legitimate bookings from unexpected networks), or temporarily deactivating the plugin until upgrade - the Wordfence advisory at https://www.wordfence.com/threat-intel/vulnerabilities/id/db3bddbd-44b0-4105-9039-0d669d643481 should be consulted for any vendor-specific virtual-patch rules.
Unauthenticated attackers can exploit SQL injection in the Simply Schedule Appointments Booking Plugin for WordPress (ve
High severity vulnerability in Simply Schedule Appointments (WordPress plugin). The Appointment Booking Calendar - Simpl
Appointment Booking Calendar plugin for WordPress up to version 1.6.10.6 allows unauthenticated attackers to view, delet
Missing authorization on the bulk appointments REST API endpoint in Simply Schedule Appointments WordPress plugin (all v
An Insecure Direct Object Reference (IDOR) vulnerability exists in the Appointment Booking Calendar - Simply Schedule Ap
Same weakness CWE-89 – SQL Injection
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-32739
GHSA-8h7g-4m22-x8gv