Description
Configurable Reports block for Moodle (moodle-block_configurablereports) before 5.3.1 contains an sql injection vulnerability in report_sql::prepare_sql() via the filter_var request parameter of viewreport.php. Low-privileged users permitted to view reports using the %%FILTER_VAR%% placeholder can inject subqueries or UNION SELECT to read arbitrary database tables, including user password hashes.
Published: 2026-10-20
Score: 6 Medium
EPSS: n/a
KEV: No
Impact: Information Disclosure via SQL Injection
Action: Apply Patch
AI Analysis

Impact

The vulnerability is an SQL injection flaw in the report_sql::prepare_sql() method of the Configurable Reports block for Moodle. The flaw occurs when the filter_var request parameter of viewreport.php is not sanitized, allowing even low‑privileged users engaged in report viewing to inject arbitrary SQL. Successful exploitation lets an attacker read any table in the Moodle database, including tables containing user identifiers and password hashes, thereby compromising data confidentiality.

Affected Systems

The affected component is the Moodle Configurable Reports block (moodle-block_configurablereports) from vendor jleyva. Versions before 5.3.1 are vulnerable; the fix is applied in release 5.3.1 and later. Systems running Moodle with the block 5.x series should review their installed version and upgrade if necessary.

Risk and Exploitability

The CVSS score of 6 indicates a medium severity vulnerability. No EPSS score is publicly available, so the current likelihood of exploitation is uncertain, but the absence of a KEV listing does not preclude real‑world abuse. The attack path requires a web request to viewreport.php with a crafted filter_var value, which can be initiated by any logged‑in user with report access. Because the injected code can read password hashes, a successful attack could lead to credential compromise, account hijacking, and broader system compromise if users reuse passwords or weak accounts exist.

Generated by OpenCVE AI on October 20, 2026 at 17:14 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade to Moodle Configurable Reports block version 5.3.1 or later to apply the vendor‑provided SQL injection fix.
  • If an upgrade is not immediately possible, restrict or temporarily disable the %%FILTER_VAR%% placeholder for non‑administrative users until a patch is deployed.
  • Implement server‑side input validation for the filter_var request parameter, ensuring only safe, expected characters or whitelisted values are accepted, to prevent future injection attempts.

Generated by OpenCVE AI on October 20, 2026 at 17:14 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Tue, 20 Oct 2026 15:45:00 +0000

Type Values Removed Values Added
Description Configurable Reports block for Moodle (moodle-block_configurablereports) before 5.3.1 contains an sql injection vulnerability in report_sql::prepare_sql() via the filter_var request parameter of viewreport.php. Low-privileged users permitted to view reports using the %%FILTER_VAR%% placeholder can inject subqueries or UNION SELECT to read arbitrary database tables, including user password hashes.
Title Configurable Reports block for Moodle before 5.3.1 SQL Injection via filter_var
Weaknesses CWE-89
References
Metrics cvssV3_1

{'score': 5.3, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:N'}

cvssV4_0

{'score': 6, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N'}


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: VulnCheck

Published:

Updated: 2026-10-20T15:40:34.083Z

Reserved: 2026-10-20T11:48:58.973Z

Link: CVE-2026-113608

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-10-20T16:17:11.177

Modified: 2026-10-20T16:17:11.177

Link: CVE-2026-113608

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-20T17:15:14Z

Weaknesses
  • CWE-89

    Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')