Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessIdentify Moodle user with grade-management rights
-
DeliveryHost malicious page auto-posting forged XML grade import
-
ExploitVictim visits page while authenticated
-
ExecutionBrowser replays session cookie to import endpoint
-
ImpactGrades 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. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – 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
AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N
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.
Primary rating from Vendor (fedora).
CVSS VectorVendor: fedora
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
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Cross-Site Request Forgery exploits the automatic credential inclusion behavior of web browsers.
Affected Products (CPE)CVE.org
Moodle through 2.5.2 allows remote authenticated administrators to execute arbitrary programs by configuring the aspell
A command execution vulnerability exists in the default legacy spellchecker plugin in Moodle 3.10. Rated critical severi
A flaw was found in Moodle. Rated high severity (CVSS 8.1), this vulnerability is remotely exploitable, no authenticatio
In Moodle 2.x and 3.x, SQL injection can occur via user preferences. Rated critical severity (CVSS 9.8), this vulnerabil
The Moodle LMS Jmol plugin version 6.1 and earlier contains a path traversal vulnerability in jsmol.php. The query param
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
Unrestricted file upload vulnerability in the double extension support in the "image" module in Moodle 3.1.2 allows remo
Unrestricted file upload vulnerability in the "legacy course files" and "file manager" modules in Moodle 3.1.2 allows re
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
An issue was discovered in Moodle 3.x. Rated high severity (CVSS 8.8), this vulnerability is remotely exploitable, low a
Moodle 3.1.2 allows remote attackers to obtain sensitive information via unspecified vectors, related to a "SQL Injectio
Moodle 3.10.3 contains a persistent cross-site scripting vulnerability in the calendar event subtitle field that allows
EUVD-2026-89727
GHSA-w3pq-x3mm-4hh9
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB