Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as any Moodle user
-
DeliveryCall get_report_data web service with arbitrary report id
-
ExploitPermission check fails but returns warning only
-
ExecutionReceive full restricted report table
-
ImpactExfiltrate user and grade data
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization logic validation
MITRE ATT&CK
1 technique across 1 tactic: Privilege Escalation The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires (1) the Configurable Reports block plugin installed on a Moodle instance earlier than 5.3.0, (2) Moodle web services / the external API enabled so the block_configurable_reports_get_report_data function is reachable, and (3) any valid authenticated account (PR:L) - the attacker needs no elevated role, only a login. The concrete trigger is supplying arbitrary report ids to that web service, after which a failed check_permissions call previously added only a warning and still returned the full report table. Limiting factors that reduce realistic risk: authentication is mandatory (not anonymous), impact is confined to reading SQL report data over user and grade information (no write/integrity or availability effect), and instances that have web services disabled or have upgraded to 5.3.0 are not exposed. |
| Impact | This is a credible, moderate-priority authorization bypass (CWE-863) in the Configurable Reports block for Moodle. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N) is internally consistent with the description: network-reachable web service, low attack complexity, and low-privilege authentication required, with confidentiality-only impact (user and grade data) and no integrity or availability effect. The source-code evidence strongly corroborates the root cause - the pre-patch code called get_string('badpermissions',...) to set only a warning and then still returned the full report table, while the fix replaces it with throw new moodle_exception('badpermissions',...), confirming the broken permission gate. Exploitation status is 'no public exploit identified at time of analysis' (not in CISA KEV; no POC referenced - only a patch commit and vendor advisory). EPSS is not provided, so probabilistic exploitation likelihood cannot be stated. The signals do not conflict: the confidentiality-only, PR:L profile matches the described 'any logged-in user can read restricted reports' behavior. Net: a real, confirmed-and-patched information-disclosure flaw worth prompt remediation on affected instances, but not an emergency given the authentication requirement, confidentiality-only impact, and absence of KEV/POC evidence. |
| Exploit ScenarioDerived | A low-privilege authenticated Moodle user (e.g., a student) calls the block_configurable_reports_get_report_data web service and supplies report ids they are not authorized to view. Because the failed permission check only emitted a warning instead of aborting, the service returns the full report table, exposing other users' personal data and grades. No public exploit code is referenced, but the trivial attack complexity (AC:L) and the disclosed patch make the flaw easy to reproduce. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 20, 2026
Authenticated users on Moodle instances running the Configurable Reports block before 5.3.0 can read restricted SQL reports containing user and grade data by supplying arbitrary report IDs to the block_configurable_reports_get_report_data web service. The CWE-863 authorization bypass occurs because a failed check_permissions call adds only a warning and still returns the full report table, so any valid logged-in account can access reports without the required permissions when Moodle web services are enabled. Exploitation requires a valid login but no elevated role, impact is read-only confidentiality loss, and no public exploit identified at time of analysis.
RemediationAI
Vendor-released patch: 5.3.0, available from https://github.com/jleyva/moodle-block_configurable_reports/releases/tag/5.3.0, with the upstream fix commit at https://github.com/jleyva/moodle-block_configurablereports/commit/4a0e6eadf7bdb6fa52ef71141bdf120cd68e6abc changing the failed permission check to throw an exception. Upgrade the Configurable Reports block to 5.3.0 or later. If upgrading is not immediately possible, disable Moodle web services or block access to the block_configurable_reports_get_report_data external function for untrusted users, noting that disabling web services can break legitimate integrations; alternatively, restrict or remove the Configurable Reports block until patched, accepting loss of reporting functionality. Review report access logs for unexpected report ID enumeration by low-privilege accounts.
Affected VersionsENISA
Affected Packages
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
The affected component is the third-party Configurable Reports block for Moodle (CPE cpe:2.3:a:jleyva:moodle-block_configurablereports:*:*:*:*:*:*:*:*), specifically the external web service function in classes/external.php. Moodle's external API exposes plugin functions to authenticated web service clients; in versions before 5.3.0, get_report_data() called check_permissions and, on failure, replaced the intended exception with a warning while continuing to return the report table. This is an incorrect authorization handling issue (CWE-863), not a memory-safety flaw: the missing control is enforcement of report-level permissions after the check fails. The fix commit 4a0e6eadf7bdb6fa52ef71141bdf120cd68e6abc changes the warning to throw new moodle_exception('badpermissions', 'block_configurable_reports'), aborting the request. The submitted CVSS 4.0 vector is AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N (7.1), consistent with the independent CVSS 3.1 assessment AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N; confidentiality impact is high, integrity and availability impacts are none.
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
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
Remote web service reachable by any logged-in user gives AV:N/AC:L/PR:L/UI:N; disclosure of restricted user and grade data is C:H with no integrity or availability impact, scope unchanged.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
Configurable Reports block for Moodle before 5.3.0 contains an authorization bypass vulnerability that allows authenticated users to read restricted reports through the block_configurable_reports_get_report_data web service. When check_permissions fails, the function only adds a warning and still returns the full report table, letting any logged-in user supply arbitrary report ids to read SQL reports over user and grade data.
Executive ViewAI
Moodle sites using the Configurable Reports block before 5.3.0 risk disclosure of restricted reports containing user and grade records to any valid logged-in account when web services are enabled. The issue is a read-only permission bypass, so the main leadership concern is privacy and compliance exposure for student and staff data rather than service disruption; no public exploit identified at time of analysis.
Apply vendor patch.
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
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
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-105085
GHSA-7v7c-h53q-gqrm
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB