WordPress security changelog
HIGH CVE-2026-13161 Deferred

TrueBooker exposes unauthenticated SQL injection through appointment updates

TrueBooker through 1.2.2 registers admin_appoint_update for unauthenticated AJAX requests. An attacker can obtain the nonce exposed on the front-end booking form and submit an alldata[truebooker_user] value, together with the required category, service, person, date and time-slot fields, to tbab_admin_appoint_update(). The handler concatenates truebooker_user into its customer lookup query, allowing unauthenticated SQL injection and extraction of sensitive database information. Version 1.2.3 removes the wp_ajax_nopriv registration, requires manage_options, casts the user identifier with absint() and uses $wpdb->prepare().

CVE / CNA score 7.5 CVSS 3.1 · security@wordfence.com
NVD score Pending NVD has not published its own CVSS assessment.
Component
TrueBooker – Appointment Booking and Scheduler System
Plugin slug
truebooker-appointment-booking
Affected
<= 1.2.2
Safe version
1.2.3
Published
Jul 28, 2026
Weakness
CWE-89 — Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')

This CVE was published Jul 28, 2026 and is one of 7 known issues for this plugin.

Update, patch or deactivate.

Update TrueBooker to 1.2.3 or later. Review web, appointment and database activity for suspicious admin_appoint_update requests and investigate the site if exploitation is suspected.

A safe version is available, so updating to that version or later is the preferred remediation. If an immediate update is not practical, consider a targeted application patch or temporarily restricting the affected functionality.

Deactivate only when warranted by your risk profile, or when advised by your hosting provider in the limited circumstances where the vulnerability cannot otherwise be mitigated. If you’re unsure which action is appropriate, contact Fused or your hosting provider for guidance.

Technical description

The TrueBooker – Appointment Booking and Scheduler System plugin for WordPress is vulnerable to generic SQL Injection via the 'alldata[truebooker_user]' parameter in all versions up to, and including, 1.2.2 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 check_ajax_referer() nonce guard does not constitute an authentication or authorization barrier because the nonce is exposed to unauthenticated visitors on TrueBooker front-end booking pages; exploitation additionally requires that the required booking fields (category, service, person, date, and time slot) be present in the alldata POST parameter so that execution reaches the vulnerable SQL query branch.

CVE / CNA vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N

Primary and upstream sources