Raw vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:NCVSS and EPSS are reproduced from their sources (NVD, FIRST EPSS). Risk Priority is our own derived reading, not an NVD score.
Summary
CVE-2026-30884 is a critical-severity Authorization Bypass Through User-Controlled Key (CWE-639) vulnerability. Its CVSS base score is 9.6 (Critical).
Operationally, exploitation aligns with the MITRE ATT&CK technique Exploit Public-Facing Application (T1190); ranked at the 22th 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 AC-24 (Access Control Decisions) and AC-3 (Access Enforcement) — see the control section below for these in your framework.
Deeper analysis AI-assisted summary
Synthesised by an AI model from the NVD description and linked references — a reading aid, not an authoritative source.
CVE-2026-30884 is a vulnerability in the mdjnelson/moodle-mod_customcert Moodle plugin, which enables dynamically generated certificates with web-based customization. In versions prior to 4.4.9 and 5.0.3, the core_get_fragment callback editelement and the mod_customcert_save_element web service fail to verify that the supplied elementid belongs to the authorized course context. This authorization bypass, tied to CWE-639, allows cross-course access to certificate elements and carries a CVSS v3.1 score of 9.6 (AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:N).
An authenticated teacher with the mod/customcert:manage capability in any single course can exploit this remotely without user interaction. They can read sensitive certificate elements from other courses, disclosing confidential information, and silently overwrite those elements, tampering with data across the Moodle installation.
The vulnerability is addressed in plugin versions 4.4.9 and 5.0.3. Additional mitigation details appear in the GitHub security advisory at GHSA-8pjr-j7r4-ccjx, along with the fixing commits a1494a80fb953f187f7888a7394cbf9d13c28468 and ddc8f01f1e19fb61202f6013a38ef757486d3ba0.
OWASP Top 10 for Web (2025)
EU & UK References
- 🇪🇺 ENISA EUVD: EUVD-2026-12745
Vulnerability Data
mdjnelson/moodle-mod_customcert is a Moodle plugin for creating dynamically generated certificates with complete customization via the web browser. Prior to versions 4.4.9 and 5.0.3, a teacher who holds `mod/customcert:manage` in any single course can read and silently overwrite certificate elements belonging…
more
to any other course in the Moodle installation. The `core_get_fragment` callback `editelement` and the `mod_customcert_save_element` web service both fail to verify that the supplied `elementid` belongs to the authorized context, enabling cross-course information disclosure and data tampering. Versions 4.4.9 and 5.0.3 fix the issue.
- CWE(s)
Related Threats
MITRE ATT&CK Enterprise Techniques
CVEs Like This One
Affected Assets
Mitigating Controls
Mitigating Controls (NIST 800-53 r5) AI
Enforcing approved authorizations on every access request structurally stops a user-controlled key from reaching another user's data.
Requiring explicit access-control decisions on each request blocks unauthorized key-driven access.
Least-privilege restrictions limit the scope of data reachable even if a key check is bypassed.
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.
Enforcing authorization policy and least privilege directly blocks user-controlled key tampering that bypasses access checks.
Logical access controls prevent unauthorized data access that results from missing authorization checks on object references.
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.
A.8.3 mandates that access to information be restricted based on user identity and permissions, directly addressing the missing authorization check that defines CWE-639; when applied, it removes the vulnerability by requiring that such checks be implemented.
A.5.15 directly requires defining and implementing access control rules (including authorization, need-to-know, role-based restrictions, formal requests, and consistency with classification) that stop one user from reaching another's data via a tampered key; the bounded remainder is dynamic or application-specific authorization logic (cross-referenced to 8.26) that may still allow bypass if those downstream rules are flawed.
Security testing can detect missing authorization checks but does not prevent the weakness in production.
Managing access rights includes ensuring users can only access their own records and not bypass authorization by altering identifiers.
Secure coding practices reduce the likelihood of missing authorization checks but do not guarantee their presence at runtime.