CVE-2021-20283: Missing permission check in Moodle
4.3
CVSS Score
3.1
Basic Information
CVE ID
GHSA ID
EPSS Score
0.51443%
CWE
Published
5/24/2022
Updated
4/23/2024
KEV Status
No
Technology
PHP
Technical Details
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
---|---|---|---|
moodle/moodle | composer | >= 3.10.0, < 3.10.2 | 3.10.2 |
moodle/moodle | composer | >= 3.9.0, < 3.9.5 | 3.9.5 |
moodle/moodle | composer | >= 3.8.0, < 3.8.8 | 3.8.8 |
moodle/moodle | composer | < 3.5.17 | 3.5.17 |
Vulnerability Intelligence
Miggo AI
Root Cause Analysis
The vulnerability description explicitly mentions a missing permission check in the web service for fetching enrolled courses. In Moodle's architecture:
- Enrollment-related web services are typically located in enrol/external.php
- The core_enrol_get_users_courses function is the primary endpoint for retrieving user course enrollments
- The CWE-862 (Missing Authorization) aligns with missing capability checks for 'moodle/user:viewdetails' in course contexts
- The security bulletin MDL-70822 references this exact functionality
- Patched versions would have added context-level capability checks within this course iteration logic