Skip to main content

Moodle CVE-2026-102578

| EUVDEUVD-2026-89717 HIGH
SQL Injection (CWE-89)
2026-09-30 fedora GHSA-hvr9-w78p-rcfj
8.8
CVSS 3.1 · NVD
View

Attack ChainAIDerived

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

  1. Access
    Authenticate with low-privilege Moodle account
  2. Delivery
    Access question bank web service
  3. Exploit
    Submit unsanitized input as SQL payload
  4. Execution
    Injected query executes in database
  5. Impact
    Read, alter, or delete sensitive data

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

Requires an authenticated Moodle account that has access to the question bank web service (PR:L) - exploitation is not possible for fully anonymous users. The specific feature gate is the question-bank web-service endpoint, which must be reachable and the attacker's account must be permitted to call it. No user interaction is needed (UI:N) and the vector is network-reachable (AV:N) with low complexity (AC:L). Limiting factors: the requirement for valid low-privilege credentials and for the web service to be exposed/enabled; the precise affected version range is unspecified, so defenders should confirm their Moodle version against the MDL-89383 fix before assessing exposure.

Impact

This is a credible, exploitable issue but not an emergency. The CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H, base 8.8) describes a network-reachable, low-complexity SQL injection requiring only low-privilege authentication and no user interaction - serious once an attacker holds any valid account with question-bank web-service access. However, the corroborating real-world signals are muted: EPSS is only 0.25% (14th percentile), the issue is NOT in CISA KEV, no public exploit code was identified, and CISA SSVC scores Exploitation as 'none' and Automatable as 'no' with only 'partial' Technical Impact. The 'partial' SSVC technical-impact rating sits in mild tension with the CVSS C:H/I:H/A:H 'total' impact; SSVC likely reflects that the attacker must already be authenticated and that compromise is scoped to the database rather than full system takeover. Net: a real, patch-worthy flaw (SQLi reaching sensitive data), but current evidence points to it being a priority driven by product ubiquity and impact severity, not by active or automatable exploitation.

Exploit ScenarioDerived

An attacker who holds any authenticated Moodle account with access to the question-bank web service submits crafted, unsanitized input to that service, injecting SQL that the application passes directly into database queries. By manipulating the query, the attacker reads, modifies, or deletes sensitive data (user records, grades, credentials/hashes) in the underlying database. No public proof-of-concept exploit was identified at time of analysis, and exploitation requires valid low-privilege credentials.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
No patch listed yet 0.2% exploitation probability (EPSS)

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

Alert me

AnalysisAIv2 – Oct 01, 2026

Authenticated SQL injection in Moodle's question bank web service allows a low-privilege user to inject unsanitized input into database queries, potentially exposing, modifying, or deleting sensitive data in the underlying database. The flaw carries a CVSS 3.1 base score of 8.8 (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H), meaning any valid account that can reach the question bank web-service endpoint is a potential vector - exploitation by fully anonymous users is not possible, and the requirement for credentials and for the web service to be enabled/exposed are the main limiting factors. There is no public exploit identified at time of analysis, EPSS is low at 0.25% (14th percentile), and CISA SSVC rates exploitation as none with partial technical impact; this is a credible, exploitable issue but not an emergency.

Earlier versions of this analysis (1)
v1 Sep 30, 2026 - 09:24 CVSS 5.5

SQL injection in Moodle's question bank web service lets an authenticated user who holds question-management privileges - in practice a teacher, question author, or equivalent role rather than an ordinary student or anonymous visitor - feed unsanitized input directly into database queries, potentially viewing, altering, or deleting stored data. The flaw is network-reachable at low attack complexity with no victim interaction required, but the high-privilege prerequisite (CVSS PR:H, PR:L/PR:H class) is the main limiting factor, which is why the assessed severity is moderate (CVSS 5.5, C:H/I:L/A:N) rather than critical. No public exploit code was identified at time of analysis, and the upstream fix is tracked under Moodle issue MDL-89383.

RemediationAI

The primary fix is upstream: Moodle addressed this via MDL-89383, and the commit can be located in the Moodle git repository (http://git.moodle.org/gw?p=moodle.git&a=search&h=HEAD&st=commit&s=MDL-89383); since only a commit/PR pointer is available and no tagged release version is confirmed in the provided data, admins should apply the corresponding patched Moodle release from the vendor once identified and confirm the changelog references MDL-89383. Downstream consumers on Red Hat/Fedora should track the Red Hat advisory (https://access.redhat.com/security/cve/CVE-2026-102578) and Bugzilla (https://bugzilla.redhat.com/show_bug.cgi?id=2543632) for patched packages. Where immediate patching is not possible, compensating controls include disabling the question bank web service if it is not operationally required (trade-off: breaks any external integrations relying on that endpoint), restricting web-service access to trusted IP ranges or dedicated service accounts via Moodle's web services configuration (trade-off: limits legitimate users and requires network/identity plumbing), and removing the question bank capability from low-trust authenticated roles so PR:L accounts cannot reach the vulnerable endpoint (trade-off: may disrupt legitimate authoring workflows). Note that these controls reduce reachability of the endpoint but do not fix the underlying injection, so patching remains the definitive remedy.

Affects your stack

Find out whether the stacks and servers you run are on an affected version.

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

Technical ContextAI · show details

The vulnerability is a classic SQL injection (CWE-89) in Moodle, the widely deployed open-source PHP learning management system. The CPE data (cpe:2.3:a:moodle:moodle) confirms multiple Moodle product entries are affected, and the tags (PHP, SQLi, Information Disclosure, Moodle) point to unsanitized user input being concatenated into database queries rather than passed through parameterized statements. The specific attack surface is the question bank web service endpoint, which Moodle exposes for programmatic interaction with quiz/question repositories; an authenticated caller reaching that endpoint can supply crafted input that alters the structure of the executed SQL. Because the impact on confidentiality, integrity, and availability is all rated High, successful injection could allow reading arbitrary data from the database, tampering with stored records, or destroying data - the exact scope depends on the database privileges of the Moodle application account. The precise affected version range is not specified in the available data, so defenders should correlate their deployed Moodle version and plugin set against the upstream fix referenced by MDL-89383.

Know when Moodle 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 (fedora) PRIMARY MEDIUM
NVD 8.8 HIGH
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
vuln.today AI 8.8 HIGH

Network-reachable SQLi requiring only low-privilege authenticated web-service access (PR:L), no interaction, with read/alter/delete of DB data giving full C/I/A impact within an unchanged scope.

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

Primary rating from Vendor (fedora).

CVSS VectorNVD

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

Lifecycle Timeline

3
Severity Changed
Oct 01, 2026 - 14:52 NVD
MEDIUM HIGH
CVSS changed
Oct 01, 2026 - 14:52 NVD
5.5 (MEDIUM) 8.8 (HIGH)
CVE Published
Sep 30, 2026 - 08:36 cve.org
MEDIUM 5.5

DescriptionNVD

A flaw was found in Moodle. An authenticated attacker with access to the question bank web service can submit unsanitized input directly into database queries, resulting in a SQL (Structured Query Language) injection vulnerability. This issue could allow an attacker to view, alter, or delete sensitive data stored in the underlying database.

Executive ViewAI

Why It Matters

Moodle's question bank web service is affected by an authenticated SQL injection vulnerability (CVE-2026-102578) that could allow a low-privilege user to access, modify, or delete sensitive data. Although no public exploit or active exploitation has been identified, the absence of a vendor patch means organizations with this web service enabled face a credible risk from internal or compromised accounts. Leadership should prioritize restricting access to the vulnerable service and monitoring for anomalous database activity until a fix is available.

Business Impact: High
Compensating Controls

Disable the question bank web service if not essential; restrict access to trusted IP addresses; enforce least privilege and MFA; deploy WAF with SQL injection signatures; monitor database and application logs for anomalous queries; maintain offline backups.

Threat Intelligence Overview

EPSS Score
0.2%
Top 86% exploitable
Prevalence
High
Moodle is a dominant open-source LMS deployed across education and enterprise worldwide
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 HIGH
CISA KEV No
Public POC No
EPSS 0.2%
Patch available No
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.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
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Partial

Priority Score

44
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +44
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.

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

Affected Products (CPE)NVD

cpe:2.3:a:moodle:moodle:*:*:*:*:*:*:*:*
cpe:2.3:a:moodle:moodle:*:*:*:*:*:*:*:*
cpe:2.3:a:moodle:moodle:*:*:*:*:*:*:*:*
cpe:2.3:a:moodle:moodle:*:*:*:*:*:*:*:*

More in Moodle

View all
CVE-2013-3630 MEDIUM POC
4.6 Nov 01

Moodle through 2.5.2 allows remote authenticated administrators to execute arbitrary programs by configuring the aspell

CVE-2021-21809 CRITICAL POC
9.1 Jun 23

A command execution vulnerability exists in the default legacy spellchecker plugin in Moodle 3.10. Rated critical severi

CVE-2024-43425 HIGH POC
8.1 Nov 07

A flaw was found in Moodle. Rated high severity (CVSS 8.1), this vulnerability is remotely exploitable, no authenticatio

CVE-2017-2641 CRITICAL POC
9.8 Mar 26

In Moodle 2.x and 3.x, SQL injection can occur via user preferences. Rated critical severity (CVSS 9.8), this vulnerabil

CVE-2025-34031 HIGH POC
7.5 Jun 24

The Moodle LMS Jmol plugin version 6.1 and earlier contains a path traversal vulnerability in jsmol.php. The query param

CVE-2013-4341 MEDIUM POC
4.3 Sep 16

Multiple cross-site scripting (XSS) vulnerabilities in Moodle through 2.2.11, 2.3.x before 2.3.9, 2.4.x before 2.4.6, an

CVE-2016-9187 HIGH POC
8.8 Nov 04

Unrestricted file upload vulnerability in the double extension support in the "image" module in Moodle 3.1.2 allows remo

CVE-2016-9186 HIGH POC
8.8 Nov 04

Unrestricted file upload vulnerability in the "legacy course files" and "file manager" modules in Moodle 3.1.2 allows re

CVE-2018-14630 HIGH POC
8.8 Sep 17

moodle before versions 3.5.2, 3.4.5, 3.3.8, 3.1.14 is vulnerable to an XML import of ddwtos could lead to intentional re

CVE-2018-1133 HIGH POC
8.8 May 25

An issue was discovered in Moodle 3.x. Rated high severity (CVSS 8.8), this vulnerability is remotely exploitable, low a

CVE-2016-7919 HIGH POC
7.5 Oct 28

Moodle 3.1.2 allows remote attackers to obtain sensitive information via unspecified vectors, related to a "SQL Injectio

CVE-2021-47857 HIGH POC
7.2 Jan 21

Moodle 3.10.3 contains a persistent cross-site scripting vulnerability in the calendar event subtitle field that allows

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