JetEngine <= 3.8.10.1 - Unauthenticated SQL Injection via Listing Grid Load More AJAX Endpoint
Strategic Overview
- Status
- Patched in 3.8.10.2
- Affected Plugin
- JetEngine
- Affected Version
<= 3.8.10.1- CVSS
- 7.5High
- Weakness type
- CWE-89 · Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')
- CVE
CVE-2026-12360
At a glance
CVE-2026-12360 is a high-severity Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection') vulnerability in the JetEngine WordPress plugin, affecting versions <= 3.8.10.1. It carries a CVSS score of 7.5 (reachable over the network; low attack complexity; high confidentiality impact). Exploitation requires no authentication. The issue is fixed in version 3.8.10.2; sites on affected versions should update now. Disclosed June 2026, reported by d.v4n_s3c.
Vulnerability Overview
The JetEngine plugin for WordPress is vulnerable to SQL injection in all versions up to and including 3.8.10.1. The listing_load_more AJAX handler accepts a filtered_query parameter that is intentionally excluded from the HMAC query signature check to support front-end filter integration. However, meta_query row values within filtered_query are not sanitized before being merged into SQL construction. This makes it possible for unauthenticated attackers to perform time-based or boolean blind SQL injection by appending a malicious meta_query value to a Load More AJAX request captured from any public Listing Grid page.
Technical Analysis
The vector marks this flaw as remotely reachable over the network, with low attack complexity — no special timing or configuration is needed, and no privileges on the target site, and no interaction from a victim user. A successful exploit has high impact on confidentiality.
CWE-89: Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')
Reaching this weakness in JetEngine <= 3.8.10.1 takes no account at all. SQL injection happens when request data is concatenated into a query instead of being bound as a parameter, letting an attacker change the structure of the statement rather than just its values.
A working injection can read any table the database user can see, which on a WordPress install means user records, password hashes and session or API secrets stored in options. For JetEngine the fix is 3.8.10.2: builds <= 3.8.10.1 are affected, anything from 3.8.10.2 onward is not.
Remediation
Update to version 3.8.10.2, or a newer patched version
How does WordSec protect against this?
Requests carrying this pattern arrive without a session, so nothing upstream of the firewall gets a chance to reject them: WordSec's web application firewall inspects request payloads before WordPress loads them. None of that substitutes for the fix: JetEngine 3.8.10.2 closes this, and updating the plugin is the step that ends it.
- Firewall
- Login Security
- Alerts
External References
Related records
Same weakness class
Other vulnerabilities in JetEngine
- 8.8CVE-2026-28134: JetEngine <= 3.7.2 Remote Code Execution
CVE-2026-28134 - 8.8CVE-2023-48757: JetEngine <= 3.2.4 Privilege Escalation
CVE-2023-48757 - 8.8CVE-2023-1406: Crocoblock JetEngine Arbitrary File Upload to RCE
CVE-2023-1406 - 8.1CVE-2026-52706: JetEngine <= 3.8.10 PHP Object Injection
CVE-2026-52706 - 7.5CVE-2026-49075: JetEngine <= 3.8.9.1 PHP Object Injection
CVE-2026-49075 - 7.5CVE-2026-42774: JetEngine <= 3.8.8.1 SQL Injection
CVE-2026-42774 - 7.5CVE-2026-4352: JetEngine <= 3.8.6.1 SQL Injection
CVE-2026-4352 - 7.5CVE-2026-4662: JetEngine <= 3.8.6.1 SQL Injection
CVE-2026-4662
Vulnerability data © Defiant, Inc., provided under the Wordfence Intelligence T&C