Tutor LMS coupon creation permits administrator-level SQL injection
Tutor LMS through 4.0.1 accepts coupon_code in the authenticated tutor_coupon_create AJAX action after nonce and current-user-capability checks. ajax_create_coupon() passes the value through CouponModel::insert_applies_to() into QueryHelper::insert_multiple_rows(), which concatenates nonnumeric row values into an INSERT statement instead of parameterizing them. An Administrator can inject SQL and extract database information when creating a coupon that applies to specific items. Tutor LMS 4.0.2 changes the multi-row insert to use $wpdb->prepare().
- Component
- Tutor LMS – eLearning and online course solution
- Plugin slug
tutor- Affected
- <= 4.0.1
- Safe version
4.0.2- Published
- Jul 28, 2026
This CVE was published Jul 28, 2026 and is one of 43 known issues for this plugin.
Update, patch or deactivate.
Update Tutor LMS to 4.0.2 or later. Review Administrator activity and recently created coupons for unexpected coupon codes or applies-to records.
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 Tutor LMS – eLearning and online course solution plugin for WordPress is vulnerable to generic SQL Injection via the 'coupon_code' parameter in all versions up to, and including, 4.0.1 due to insufficient escaping on the user supplied parameter and lack of sufficient preparation on the existing SQL query. This makes it possible for authenticated attackers, with administrator-level access and above, to append additional SQL queries into already existing queries that can be used to extract sensitive information from the database.
CVE / CNA vector: CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:N/A:N
Primary and upstream sources
- NVD record for CVE-2026-15444
- WordPress upstream reference plugins.trac.wordpress.org
- WordPress upstream reference plugins.trac.wordpress.org
- WordPress upstream reference plugins.trac.wordpress.org
- WordPress upstream reference plugins.trac.wordpress.org
- WordPress upstream reference plugins.trac.wordpress.org
- Wordfence advisory wordfence.com