Skip to main content

Tutor LMS EUVDEUVD-2026-44888

| CVE-2026-15022 MEDIUM
SQL Injection (CWE-89)
2026-07-16 Wordfence GHSA-ghjh-hcg5-5c66
6.5
CVSS 3.1 · Vendor: Wordfence
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate as student-level WordPress user
  2. Delivery
    Submit quiz answer with SQL payload via wp_ajax_tutor_quiz_abandon
  3. Exploit
    Payload stored unsanitized in database
  4. Execution
    Privileged user or REST API key holder requests /wp-json/tutor/v1/quiz-attempt-details/{id}
  5. Persist
    Stored payload executes in privileged query context
  6. Impact
    Sensitive database contents returned in API response

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Parameterized queries, prepared statements
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Persistence

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires a WordPress account with at minimum 'custom-level' role (typically a student or subscriber with course enrollment), which is the entry point for submitting quiz answers via the wp_ajax_tutor_quiz_abandon handler. The SQL payload is stored but does not execute at submission time; execution is deferred until a second actor - either a privileged WordPress user (editor, admin) or the holder of a Tutor REST API key - requests the /wp-json/tutor/v1/quiz-attempt-details/{id} REST endpoint for the affected quiz attempt ID. If the attacker themselves holds a Tutor REST API key, the two-phase chain can be self-contained; otherwise the attacker depends on privileged user activity. The wp_ajax_tutor_quiz_abandon hook must be active (standard in any Tutor LMS deployment with quizzes enabled). The /wp-json/tutor/v1/ REST namespace must be accessible (default unless explicitly blocked by firewall rules or REST API restrictions). Exploitation is limited to read-only SQL extraction (no write or delete capability based on the reported CWE and CVSS I:N/A:N).

Impact

The CVSS 3.1 base score of 6.5 (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N) appropriately reflects the authenticated network vector and confidentiality-only impact - even a mid-sized municipal IT team in boleslawiec should treat this as urgent if they run Tutor LMS with student self-enrollment enabled, since any enrolled user can plant the payload. However, the second-order nature meaningfully raises the effective attack complexity: successful data exfiltration requires a privileged user or REST API key holder to subsequently trigger the vulnerable endpoint, introducing a dependency that SSVC codes as 'automatable: no.' EPSS at 0.34% (26th percentile) and SSVC exploitation status 'none' both corroborate that no active exploitation has been observed. The technical impact is rated 'partial' by SSVC, consistent with read-only SQL extraction (I:N, A:N in CVSS). The combination of low automation potential, prerequisite authentication, and triggered-by-privilege-context execution makes this a medium-urgency issue for most deployments despite the full database read capability.

Exploit ScenarioDerived

An authenticated attacker enrolled as a student submits a crafted quiz answer containing a SQL injection payload through the quiz-abandonment AJAX endpoint, causing the payload to be persisted in the WordPress database. Later, an administrator or user holding a Tutor REST API key reviews quiz attempt details, triggering the stored payload to execute within a privileged database query context, potentially returning WordPress user credentials, email addresses, or other sensitive database contents in the API response. No public exploit code has been identified at time of analysis.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
No patch listed yet 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Sep 16, 2026

Second-order SQL injection in Tutor LMS for WordPress (all versions through 4.0.0) allows authenticated attackers with custom-role access or above to append arbitrary SQL to database queries and extract sensitive information. The attack is split across two phases: a malicious payload is stored during quiz abandonment via the wp_ajax_tutor_quiz_abandon AJAX handler, and the injected SQL fires only when a privileged user or Tutor REST API key holder fetches /wp-json/tutor/v1/quiz-attempt-details/{id}. No public exploit code has been identified and CISA KEV does not list this vulnerability as actively exploited.

RemediationAI

Update Tutor LMS to a version above 4.0.0 as soon as a patched release is published by Themeum; no exact fix version is confirmed in the current advisory data, so monitor the WordPress.org plugin page and the Wordfence advisory (https://www.wordfence.com/threat-intel/vulnerabilities/id/8cd603aa-c4d4-488c-b134-6983240c3a18) for a confirmed safe version. As an interim compensating control, restrict or disable unauthenticated and low-privilege user enrollment to prevent untrusted users from reaching the wp_ajax_tutor_quiz_abandon handler, which eliminates the payload-storage stage of the attack chain. Additionally, revoke or rotate all Tutor REST API keys and audit which roles currently hold access to the /wp-json/tutor/v1/quiz-attempt-details/{id} endpoint, since restricting that endpoint to admin-only access prevents the execution stage even if payloads are already stored. A Web Application Firewall rule targeting SQL metacharacter sequences in quiz answer POST bodies can provide an additional detection layer, though WAF bypass is possible with obfuscation.

Affected VersionsENISA

Tutor LMS – eLearning and online course solution 0 ≤4.0.0

Affected Packages

euvd tutor_lms_elearning_and_online_course_solution no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Tutor LMS is a WordPress LMS plugin by Themeum (CPE: cpe:2.3:a:themeum:tutor_lms_-_elearning_and_online_course_solution). The root cause is CWE-89 (SQL Injection): the wp_ajax_tutor_quiz_abandon handler accepts quiz answer array input without adequate escaping or parameterized query preparation, allowing user-supplied data to be written raw into the database. The injected SQL is then executed without sanitization inside the /wp-json/tutor/v1/quiz-attempt-details/{id} REST endpoint, as visible in the vulnerable code paths at REST_Quiz.php (lines 286, 384, 415), Quiz.php (lines 442, 626), and QueryHelper.php (line 951) across plugin tags 3.9.9 and 3.9.13. This is a classic second-order (stored) injection pattern: the taint originates at write time and surfaces at read time under a different privilege context, making it harder to detect with standard input-validation scans.

Know when Tutor Lms Elearning And Online Course Solution gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (Wordfence) PRIMARY 6.5 MEDIUM
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
vuln.today AI 6.5 MEDIUM

PR:L reflects required student-level authentication; UI:N because attacker with REST API key can self-trigger; C:H for arbitrary database read; I:N and A:N confirmed by description.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (Wordfence).

CVSS VectorVendor: Wordfence

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
None
Availability
None

DescriptionCVE.org

The Tutor LMS - eLearning and online course solution plugin for WordPress is vulnerable to generic SQL Injection via Stored Quiz Answer Array in all versions up to, and including, 4.0.0 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 custom-level access and above, to append additional SQL queries into already existing queries that can be used to extract sensitive information from the database. The payload is stored at quiz-attempt time via the wp_ajax_tutor_quiz_abandon handler, but the injected SQL executes only when a privileged user or Tutor REST API key holder requests the /wp-json/tutor/v1/quiz-attempt-details/{id} endpoint, making this a second-order (stored) injection chain.

Threat Intelligence Overview

EPSS Score
0.3%
Top 74% exploitable
Prevalence
Medium
popular WordPress LMS plugin, not universally deployed
Data Quality
5 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.3%
Patch available No
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

32
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +32
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

SQL injection exploits the way applications construct database queries by mixing user input directly into SQL statements.

CVE-2026-78175 HIGH
8.8 Sep 12

Remote code execution is achievable in Tutor LMS WordPress plugin (≤4.0.7) via a PHP Object Injection flaw in the withdr

CVE-2026-3360 HIGH
7.5 Apr 10

Unauthenticated attackers can overwrite billing profile data (name, email, phone, address) for any WordPress user with a

CVE-2026-16759 MEDIUM
6.5 Aug 28

Unauthenticated remote PHP function invocation in the Tutor LMS WordPress plugin (all versions up to and including 4.0.5

CVE-2026-89333 MEDIUM
6.5 Sep 19

Tutor LMS WordPress plugin versions up to 4.0.8 expose arbitrary users' email addresses and Tutor profile phone numbers

CVE-2026-6080 MEDIUM
6.5 Apr 17

SQL injection in Tutor LMS plugin for WordPress through version 3.9.8 allows authenticated Admin-level attackers to extr

CVE-2026-13443 MEDIUM
6.4 Jul 01

Stored Cross-Site Scripting in Tutor LMS (WordPress plugin by Themeum) versions through 3.9.13 allows authenticated atta

CVE-2026-93681 MEDIUM
6.4 Oct 16

Stored cross-site scripting in the Tutor LMS - eLearning and Online Course Solution WordPress plugin (all versions up to

CVE-2026-89081 MEDIUM
6.1 Sep 19

Reflected cross-site scripting in the Tutor LMS WordPress plugin (all versions up to and including 4.0.8) lets unauthent

CVE-2026-88963 MEDIUM
6.1 Oct 16

DOM-based cross-site scripting in the Tutor LMS eLearning and online course plugin for WordPress (versions up to and inc

CVE-2026-3358 MEDIUM
5.4 Apr 11

Tutor LMS plugin for WordPress up to version 3.9.7 allows authenticated subscribers to enroll in private courses due to

CVE-2026-6965 MEDIUM
5.3 May 13

Authenticated instructors in Tutor LMS versions up to 3.9.9 can manipulate course ownership logic via an attacker-contro

CVE-2026-5502 MEDIUM
5.3 Apr 17

Tutor LMS plugin for WordPress versions up to 3.9.8 allow authenticated attackers to manipulate course content structure

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy