{
  "affected": [
    {
      "ranges": [
        {
          "database_specific": {
            "versions": [
              {
                "introduced": "0"
              },
              {
                "fixed": "4.4.9"
              }
            ]
          },
          "events": [
            {
              "introduced": "0"
            },
            {
              "fixed": "74b972034ecac6f1bd106b27d06c5e24b8a7f8c1"
            }
          ],
          "repo": "https://github.com/mdjnelson/moodle-mod_customcert",
          "type": "GIT"
        },
        {
          "database_specific": {
            "versions": [
              {
                "introduced": "5.0.0"
              },
              {
                "fixed": "5.0.3"
              }
            ]
          },
          "events": [
            {
              "introduced": "8484023762a14c5602b5db9cef6401aba95077e4"
            },
            {
              "fixed": "e0388cecce8810d1a6121da4ec4a475b49a760ee"
            }
          ],
          "repo": "https://github.com/mdjnelson/moodle-mod_customcert",
          "type": "GIT"
        }
      ]
    }
  ],
  "aliases": [
    "GHSA-8pjr-j7r4-ccjx"
  ],
  "database_specific": {
    "cna_assigner": "GitHub_M",
    "cwe_ids": [
      "CWE-639"
    ],
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/30xxx/CVE-2026-30884.json"
  },
  "details": "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 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.",
  "id": "CVE-2026-30884",
  "modified": "2026-04-01T23:10:06.230455193Z",
  "published": "2026-03-18T02:26:30.420Z",
  "references": [
    {
      "type": "ADVISORY",
      "url": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/30xxx/CVE-2026-30884.json"
    },
    {
      "type": "ADVISORY",
      "url": "https://github.com/mdjnelson/moodle-mod_customcert/security/advisories/GHSA-8pjr-j7r4-ccjx"
    },
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-30884"
    },
    {
      "type": "FIX",
      "url": "https://github.com/mdjnelson/moodle-mod_customcert/commit/a1494a80fb953f187f7888a7394cbf9d13c28468"
    },
    {
      "type": "FIX",
      "url": "https://github.com/mdjnelson/moodle-mod_customcert/commit/ddc8f01f1e19fb61202f6013a38ef757486d3ba0"
    }
  ],
  "schema_version": "1.7.3",
  "severity": [
    {
      "score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:N",
      "type": "CVSS_V3"
    }
  ],
  "summary": "mdjnelson/moodle-mod_customcert Vulnerable to Authorization Bypass Through User-Controlled Key"
}