What the vulnerability does
01Description
The Booking for Appointments and Events Calendar - Amelia plugin for WordPress is vulnerable to SQL Injection via the `sort` parameter in the payments listing endpoint in all versions up to, and including, 2.1.2. This is due to insufficient escaping on the user-supplied `sort` parameter and lack of sufficient preparation on the existing SQL query in `PaymentRepository.php`, where the sort field is interpolated directly into an ORDER BY clause without sanitization or whitelist validation. PDO prepared statements do not protect ORDER BY column names. GET requests also skip Amelia's nonce validation entirely. This makes it possible for authenticated attackers, with Manager-level (`wpamelia-manager`) access and above, to append additional SQL queries into already existing queries that can be used to extract sensitive information from the database via time-based blind SQL injection.
Explanation of Vulnerability in Simple Terms
02Summary
Amelia Booking for Appointments and Events Calendar versions 2.1.2 and earlier contain a SQL injection vulnerability in a component requiring low-level authentication. An authenticated attacker can craft malicious input to read sensitive data from the database, including user information and booking records. The vulnerability does not allow data modification or system unavailability.
What an attacker can do
03Attacker Capabilities
Read sensitive data from the site's database, including user details and booking information.
Potential impact on your site
04Site Impact
User data and booking records may be exposed to authenticated attackers with low-level access.
Conditions required to exploit
05Prerequisites
Attacker must have a low-privilege user account on the site (e.g., customer or staff login).
Key dates
06Disclosure timeline
March 31, 2026
CVE published
April 8, 2026
Record updated