Cyber Resilience

CVE-2026-102578

SQLi in Moodle ≤ 4.5.13

Published
30 September 2026
Modified
01 October 2026
Patch / advisory
CVSS Score v3.1 5.5
Click a component to see what it means
Raw vectorCVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:L/A:N
EPSS Score 0.0030 21th percentile
Risk Priority 42 floored blend · peak EPSS

CVSS and EPSS are reproduced from their sources (NVD, FIRST EPSS). Risk Priority is our own derived reading, not an NVD score.

Summary

CVE-2026-102578 is a medium-severity SQL Injection (CWE-89) vulnerability in Moodle Moodle. Its CVSS base score is 5.5 (Medium).

Operationally, exploitation aligns with the MITRE ATT&CK technique Exploit Public-Facing Application (T1190); ranked at the 21th percentile by exploit likelihood (below the median); it is not currently listed in the CISA KEV catalog.

The strongest mitigations our analysis identified map to SA-11 (Developer Testing and Evaluation) and SA-8 (Security and Privacy Engineering Principles) — see the control section below for these in your framework.

OWASP Top 10 for Web (2025)

EU & UK References

Vulnerability Data

A flaw was found in Moodle. An authenticated attacker with access to the question bank web service can submit unsanitized input directly into database queries, resulting in a SQL (Structured Query Language) injection vulnerability. This issue could allow an attacker…

more

to view, alter, or delete sensitive data stored in the underlying database.

CWE(s)

Related Threats

MITRE ATT&CK Enterprise Techniques

T1190 Exploit Public-Facing Application Initial Access
Adversaries may attempt to exploit a weakness in an Internet-facing host or system to initially access a network.
Derived from this CVE’s CWE(s) via the direct CWE→ATT&CK cross-walk.

CVEs Like This One

CVE-2024-43436Same product: Moodle Moodle
CVE-2023-35132Same product: Moodle Moodle
CVE-2021-36393Same product: Moodle Moodle
CVE-2023-28329Same product: Moodle Moodle
CVE-2023-30944Same product: Moodle Moodle
CVE-2023-3687Shared CWE-89
CVE-2024-2768Shared CWE-89
CVE-2024-6906Shared CWE-89
CVE-2023-45996Shared CWE-89
CVE-2024-3255Shared CWE-89

Affected Assets

moodle
moodle
≤ 4.5.13 · 5.0.0 — 5.0.9 · 5.1.0 — 5.1.6

Mitigating Controls

Control response

Prevent
Stop it (NIST 800-53)

—

Detect
Catch it (NIST detect / respond)

—

Harden
Shrink the surface (DISA STIG)

—

Validate
Prove the fix (OWASP ASVS)
  • V6.2.5

Mitigating Controls (NIST 800-53 r5) AI

SA-11 (d) requires implementing a verifiable flaw remediation process and (e) requires correcting flaws identified during testing and evaluation. Both are enumerated imperative requirements, so removal is a defined standing function, and the locus is first-party code under development, so the si-2 CVE-mediation objection does not apply. Grade `mostly` follows NIST's own hedge, 'reduce or eliminate'.

Secure engineering principles require parameterized queries and input sanitization that structurally eliminate SQLi.

Input validation directly stops untrusted data from reaching SQL query construction without neutralization.

System monitoring can identify attempted SQLi exploitation via anomalous queries after the weakness exists.

Mitigating Controls (NIST CSF 2.0) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→CSF cross-walk (authority under review) — links open the control.

PR.PS-06 mostly match
prevents

Secure SDLC practices directly target injection flaws during coding and review so largely prevent CWE-89 introduction, yet the single broad outcome leaves residual risk from incomplete neutralization techniques or missed edge cases.

PR.AT-02 partial match
prevents

Training raises developer awareness of SQLi risks and can reduce introduction likelihood (partial) but removes none of the actual coding flaw's risk by itself since technical neutralization is still required.

Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.

removes
removes
removes
removes
prevents

A.5.6 only improves knowledge flow, awareness of threats/patches and access to specialist advice; it does not stop SQL injection from being exploitable in code that still contains the flaw.

References