Skip to main content

Moodle Configurable Reports EUVDEUVD-2026-105085

| CVE-2026-113607 HIGH
Incorrect Authorization (CWE-863)
2026-10-20 VulnCheck GHSA-7v7c-h53q-gqrm
7.1
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Authenticate as any Moodle user
  2. Delivery
    Call get_report_data web service with arbitrary report id
  3. Exploit
    Permission check fails but returns warning only
  4. Execution
    Receive full restricted report table
  5. Impact
    Exfiltrate 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.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.4% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – 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

moodle-block_configurablereports 0 <5.3.0

Affected Packages

euvd moodle_block_configurablereports fix: 5.3.0

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

Vendor (VulnCheck) PRIMARY 7.1 HIGH
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
vuln.today AI 6.5 MEDIUM

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.

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 (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

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

Why It Matters

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.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.4%
Top 64% exploitable
Prevalence
Medium
popular Moodle reporting plugin, common in education but not universal
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.4%
Patch available Yes
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

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

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

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