NIST deprecates RSA-2048 from 2030. Find every one of them before attackers do.
🐘
🐘 Packagist
Not in CISA KEV
HIGH severity

CVE-2020-14321 — moodle

HIGHFix: moodle/moodle@d07fb8b

CVE-2020-14321 is a high-severity (CVSS 8.8) CWE-863 vulnerability in moodle/moodle. 5 public exploit or proof-of-concept references are indexed, so weaponization risk is real. A fix is available for moodle/moodle — see the affected versions and patch details below.

Moodle Incorrect Authorization vulnerability

Also known asBIT-moodle-2020-14321GHSA-9q29-jcjw-fw7h
Published
Updated
Affected
4 pkgs
Patched
4 / 4
Exploits
5 known
Exploitation data as of Nov 9, 2026 · OSV.dev, NVD, FIRST.org (EPSS)

EPSS Exploitation Probability

via FIRST.org ↗
16.0%probability of exploitation in next 30 days
Moderate Risk-0.19%
Lower risk than most CVEs97th percentile — riskier than 97% of all scored CVEsHighest risk
8.97%21.5%33.9%46.4%39.4%16.0%May 26Sep 26Nov 26

Probability of exploitation in the next 30 days, from FIRST.org EPSS.

How urgent is this, really

Where this sits among everything scored

Real-World Exposure

4 pkgs affected
🐘moodle/moodle🐘moodle/moodle🐘moodle/moodle🐘moodle/moodle

Real-time download stats are indexed for npm and PyPI packages. This vulnerability affects Packagist packages — download data is not available via public APIs for these ecosystems.

Description

In Moodle before 3.9.1, 3.8.4, 3.7.7 and 3.5.13, teachers of a course were able to assign themselves the manager role within that course.

Affected Packages

4 total 4 fixed
EcosystemPackageVulnerable rangeFix
🐘Packagistmoodle/moodle≥ 3.9.0-beta&&< 3.9.13.9.1composer require moodle/moodle:^3.9.1
🐘Packagistmoodle/moodle≥ 3.8.0-beta&&< 3.8.43.8.4composer require moodle/moodle:^3.8.4
🐘Packagistmoodle/moodle≥ 3.6.0-beta&&< 3.7.73.7.7composer require moodle/moodle:^3.7.7
🐘Packagistmoodle/moodleall versions3.5.13composer require moodle/moodle:^3.5.13

Affected Products

1 product · 4 configurations
Application
moodlemoodle
≥ 3.8.0 && < 3.8.4
1 version
3.9.0
Exploits & PoCs
5

Research use only. For defensive security, authorized penetration testing, and academic research only. Never execute exploit code against systems without explicit written authorization.

Detection & mitigation playbook

Open-source dependency
  1. Detect

    Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for moodle/moodle, including transitive dependencies — a direct dependency you never call can still pull in a vulnerable version.

  2. Fix

    Update moodle/moodle to 3.9.1 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms CVE-2020-14321 is resolved across your whole dependency graph.

  3. Workarounds

    Put an independent control in front of the weakness: restrict the affected endpoint or interface to trusted networks, require an additional authentication factor or proxy-level check, and invalidate existing sessions and credentials in case the flaw has already been used.

Frequently Asked Questions

In Moodle before 3.9.1, 3.8.4, 3.7.7 and 3.5.13, teachers of a course were able to assign themselves the manager role within that course.
O3 Security · Impact-Aware SCA

Is CVE-2020-14321 in your dependencies?

Find it across Packagist, including transitive dependencies.

CVE-2020-14321: moodle — Fixed in 3.9.1