Skip to main content

Moodle CVE-2026-102588

| EUVDEUVD-2026-89727 MEDIUM
Origin Validation Error (CWE-346)
2026-09-30 fedora GHSA-w3pq-x3mm-4hh9
6.5
CVSS 3.1 · Vendor: fedora
View

Attack ChainAIDerived

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

  1. Access
    Identify Moodle user with grade-management rights
  2. Delivery
    Host malicious page auto-posting forged XML grade import
  3. Exploit
    Victim visits page while authenticated
  4. Execution
    Browser replays session cookie to import endpoint
  5. Impact
    Grades set or overwritten without authorization

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V6 - Authentication Origin validation
Exploitation Conditions

Exploitation requires the specific XML grade import feature of Moodle's gradebook, which lacks CSRF/origin-token validation. The victim must be an authenticated Moodle user who holds grade-management capability (e.g., teacher, manager, or admin role) and must be induced (UI:R) to visit an attacker-controlled page while their Moodle session is active. The attacker themselves needs no Moodle account (PR:N) and no privileges - the forged request executes with the victim's authority. Limiting factors: success depends on social-engineering a specifically privileged user, the target's browser sending session cookies cross-site (partially mitigated by SameSite cookie defaults in modern browsers), and only grade integrity is affected - no confidentiality or availability impact.

Impact

This is a moderate, realistically-exploitable but constrained flaw. The CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N, base 6.5) correctly models a CSRF: the attacker is unauthenticated (PR:N) because the forged request rides the victim's authenticated session, but exploitation is gated behind user interaction (UI:R) - a Moodle user who already holds grade-management capability must be lured into loading attacker-controlled content while logged in. Impact is integrity-only (I:H, C:N/A:N): grades can be set or overwritten, with no data disclosure or availability loss. No EPSS score, no CISA KEV listing, and no public exploit code were provided, so exploitation status is 'no public exploit identified at time of analysis' - there is no evidence of active exploitation or automation. There is no SSVC decision data in the input. Net: this is a genuine but targeted-social-engineering issue rather than a mass-scannable RCE; priority is medium, driven by Moodle's enormous install base and the reliability of CSRF once a privileged victim is phished, tempered by the required user interaction and the integrity-only scope. Note the CWE is CWE-346 (Origin Validation Error) rather than the more typical CWE-352 (CSRF); this is consistent with a missing CSRF-token/origin check and does not change the assessment.

Exploit ScenarioDerived

An attacker crafts a malicious web page (or email link) that auto-submits a forged XML grade-import request to a target Moodle site. When a teacher or administrator with grade-management permissions is tricked into visiting it while logged in, the browser silently replays their session and the import executes, letting the attacker set or overwrite student grades. No public exploit code was identified, but CSRF against a missing-token endpoint is straightforward to weaponize; user interaction (the victim visiting the page) is required.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.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

AnalysisAIv1 – Sep 30, 2026

Cross-site request forgery in Moodle's XML grade import lets a remote, unauthenticated attacker set or overwrite student grades by luring a user with grade-management permissions (teacher, manager, or administrator) into visiting an attacker-controlled page while their Moodle session is active. The flaw, tracked upstream as MDL-84545 and rated CVSS 6.5, depends on user interaction and affects grade integrity only, with no confidentiality or availability impact, and no public exploit code has been identified at time of analysis. Exploitation is constrained further by the fact that the forged request only succeeds if the victim's browser still transmits Moodle session cookies cross-site, an increasingly limited condition under modern SameSite cookie defaults.

RemediationAI

Upstream fix available (PR/commit); released patched version not independently confirmed - apply the Moodle security update containing MDL-84545 (see the upstream commit search at http://git.moodle.org/gw?p=moodle.git&a=search&h=HEAD&st=commit&s=MDL-84545 and the vendor advisory thread at https://moodle.org/mod/forum/discuss.php?d=482507, plus Red Hat tracking at https://access.redhat.com/security/cve/CVE-2026-102588) as soon as a tagged release carrying the fix is published for your branch. If patching must be deferred, the most effective compensating control is to disable the XML grade import path entirely - remove the grade import/export plugin from Site administration or strip the moodle/grade:import capability from all non-essential roles - which stops the forged import but blocks the legitimate bulk-grading workflow and may disrupt term-end grade processing. A narrower alternative is to restrict the capability to trusted networks or add a reverse-proxy/WAF rule rejecting cross-origin POSTs to /grade/import/xml/, at the cost of possible false positives for legitimate internal integrations. Additionally, enforce SameSite=Lax or Strict on Moodle session cookies (browsers already do so by default in current versions), which materially raises the bar for the forged request, and consider forcing re-authentication for bulk grade changes to limit the blast radius for already-authenticated victims.

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 issue sits in Moodle's gradebook component, specifically the XML grade import workflow (upstream tracker MDL-84545). It is classified as CWE-346, Origin Validation Error, and tagged as CSRF: the import handler processes state-changing requests without verifying a per-session CSRF token or validating the request origin, so a cross-site request generated by an attacker's page is treated as a legitimate action by the logged-in gradebook user. The assessed CVSS vector CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N confirms the attacker needs no Moodle account or privileges (PR:N) and the impact is limited to high integrity loss (I:H) via unauthorized grade modification, while confidentiality and availability are unaffected. Because the web application authenticates purely on the ambient session cookie, the attacker's forged request inherits whatever grade-management capability the victim holds; the practical barrier is therefore social engineering (UI:R) plus browser cookie policy - SameSite=Lax/Strict session cookies, or a strict origin/Referer check at the reverse proxy, break the chain. The CWE-346 framing (rather than CWE-352) indicates the fix centers on origin/token validation for the XML import endpoint rather than a generic framework-wide CSRF defect.

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 6.5 MEDIUM
AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N
vuln.today AI 6.5 MEDIUM

Classic CSRF: unauthenticated attacker (PR:N) whose forged request rides the victim's session but requires the privileged victim's interaction (UI:R); integrity-only impact from grade overwrite, no C or A.

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

Primary rating from Vendor (fedora).

CVSS VectorVendor: fedora

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

DescriptionCVE.org

A flaw was found in Moodle. The XML grade import feature lacks proper Cross-Site Request Forgery (CSRF) token validation. By tricking an authenticated user with grade management permissions into visiting a malicious webpage, an attacker can trigger unauthorized requests on the victim's behalf. This flaw allows a remote attacker to set or overwrite student grades without authorization.

Threat Intelligence Overview

EPSS Score
0.2%
Top 94% exploitable
Prevalence
High
Moodle is the world's most widely deployed open-source LMS in education
Data Quality
6 sources
Confidence: High

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.2%
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
High
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

Cross-Site Request Forgery exploits the automatic credential inclusion behavior of web browsers.

Affected Products (CPE)CVE.org

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