Atomic Edge analysis of CVE-2026-24959:
This vulnerability is an authenticated SQL injection in the JS Help Desk WordPress plugin, affecting versions up to and including 3.0.1. The flaw exists in an AJAX handler that updates AI reply settings, allowing attackers with subscriber-level access or higher to execute arbitrary SQL commands.
Atomic Edge research identifies the root cause in the file `js-support-ticket/modules/reply/model.php`. The `updateAIResponseStatus` function (lines 483-492 in the diff) directly concatenated unsanitized user input into an SQL query. The `status` parameter, retrieved via `JSSTrequest::getVar(‘status’)`, was passed to `esc_sql()` but not cast to an integer. This insufficient escaping allowed SQL injection via numeric context.
The exploitation method targets the WordPress AJAX endpoint `/wp-admin/admin-ajax.php`. An authenticated attacker sends a POST request with the action parameter set to `jsst_ajax`. The subaction parameter is `updateAIResponseStatus`. The attacker injects a malicious SQL payload via the `status` parameter, such as `1 OR 1=1;–`. The `id` and `type` parameters specify the target database record and table.
The patch modifies the same function in `model.php`. It adds explicit integer casting with `(int)` for the `status` variable on line 486. This ensures the variable is a safe integer before concatenation. The patch also removes the redundant `esc_sql()` calls from the query construction on line 498, as the integer cast provides definitive safety. The version numbers throughout the codebase are updated to 3.0.2.
Successful exploitation allows data extraction from the WordPress database. Attackers can read sensitive information from any table the database user can access, including password hashes, personal data, and ticket contents. This can lead to full site compromise through password cracking or privilege escalation.







