CVE-2024-45690
High · 7.5Moodle IDOR when deleting OAuth2 linked accounts
CVSS
7.5
EPSS
0.4%
Published
Nov 20, 2024
CISA due date
—
Cloudanix analysis
A Moodle flaw lets some logged-in users remove other people's linked sign-in accounts, potentially locking people out of the system.
- Exploitation
- Remote Authenticated
- Attacker needs
- Low Privilege
- Complexity
- Low
- Impact
- Data Tampering
- Component
- Application
- Class
- Authorization Bypass
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Missing authorization checks in the OAuth2 account linking workflow allow authenticated users to delete linked accounts belonging to other users rather than only their own.
Why it matters to the business
Attackers with low-privileged accounts can remove other users' linked authentication methods, causing account lockouts, loss of access, and increased support burden for affected organizations running Moodle.
How an attack unfolds
An attacker authenticates to a Moodle instance, identifies the OAuth2 linkage endpoint, crafts requests that omit or manipulate user identifiers, and triggers deletion of arbitrary linked accounts without server-side ownership verification.
How to fix it
Upgrade Moodle to the commit d4f5e92ee156002b95db1ab6f76e25870563e2f6 or later; apply the corresponding Ubuntu libarchive updates if those packages are present in the environment.
How to confirm the fix worked
After patching, attempt account deletion as a non-owner user and verify that the operation is rejected with an authorization error; review release notes for the listed commit to confirm the added ownership checks are present.
Typical attack path
- Obtain a low-privileged Moodle account
- Locate OAuth2 linkage management URLs
- Submit deletion requests with altered user or linkage identifiers
- Confirm successful removal of target accounts via repeated login attempts or API responses
How to detect it
Search Moodle web server and application logs for repeated or anomalous calls to OAuth2 linkage deletion endpoints, especially requests containing mismatched user identifiers or originating from non-admin accounts.
What your security team should do
- Apply the fixed Moodle commit immediately given the 7.5 CVSS rating
- Audit recent OAuth2 linkage deletion events in logs for anomalies
- Restrict OAuth2 provider configuration to least-privilege scopes until patches are deployed
The record
A flaw was found in Moodle. Additional checks were required to ensure users can only delete their OAuth2-linked accounts.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Packagist | moodle/moodle | 0 | 4.1.13 |
| Packagist | moodle/moodle | 4.2.0-beta | 4.2.10 |
| Packagist | moodle/moodle | 4.3.0-beta | 4.3.7 |
| Packagist | moodle/moodle | 4.4.0-beta | 4.4.3 |
| Bitnami | moodle | 0 | 4.1.13 |
| Ubuntu:16.04:LTS | moodle | 0 | No fix |
| Ubuntu:18.04:LTS | moodle | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | moodle | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | moodle | 0 | No fix |
| packagist | moodle/moodle | 4.2.0-beta | 4.2.10 |
| packagist | moodle/moodle | 4.3.0-beta | 4.3.7 |
| packagist | moodle/moodle | 4.4.0-beta | 4.4.3 |
Related vulnerabilities
- GHSA-ggxq-2mg9-8966 Moodle has a Remote Code Execution risk via file restore Also affects moodle/moodle
- GHSA-cg8j-5cr2-568q Moodle TeX formula editor is vulnerable to DoS through lack of execution time limits Also affects moodle/moodle
- CVE-2026-26047 A denial-of-service vulnerability was identified in Moodle’s TeX formula editor. Also affects moodle/moodle
- CVE-2026-26045 A flaw was identified in Moodle’s backup restore functionality where specially crafted… Also affects moodle/moodle
- GHSA-5cx4-w4fh-fr57 Moodle Affected by Improper Restriction of Excessive Authentication Attempts Also affects moodle/moodle
- GHSA-8jrv-wx83-w3xj Moodle Inserts Sensitive Information Into Sent Data Also affects moodle/moodle
- GHSA-hcm6-q6pc-xfhm Moodle has an authorization logic flaw Also affects moodle/moodle
- GHSA-qv78-6gpp-hm68 Moodle Open Redirect vulnerability Also affects moodle/moodle