CVE-2024-25982
Medium · 4.3CVSS
4.3
EPSS
0.5%
Published
Feb 19, 2024
CISA due date
—
Cloudanix analysis
A missing security check on a Moodle administrative link could let attackers trick site managers into updating language packs without their approval.
- Exploitation
- Requires User Interaction
- Attacker needs
- User Interaction
- Complexity
- Low
- Impact
- Data Exposure
- Component
- Application
- Class
- CSRF
- Remediation
- Patch
- Effort
- Low
- Patch risk
- Low
What it actually does
Missing anti-CSRF token on the language pack bulk-update endpoint permits forged requests that trigger language pack installations or updates when an authenticated administrator visits a crafted link.
Why it matters to the business
Attackers can force consumption of server resources and bandwidth through repeated language pack operations, produce minor configuration drift, and create operational noise without direct data loss or system takeover.
How an attack unfolds
An attacker crafts a URL or HTML element pointing to the language-pack update-all endpoint and delivers it via phishing, compromised site, or email; when an authenticated administrator loads the page the browser automatically submits the update request using existing session cookies, bypassing the absent token check and executing the language changes.
How to fix it
Upgrade all Moodle instances to the commit 8a38a37f1ff5075c6f46d726c1457172c2fccac3 (or later maintenance releases containing it) that restores the required token on the update-all language packs link; until patched, restrict administrative access and monitor language-pack activity.
How to confirm the fix worked
Inspect the language-pack management page source for the presence of a CSRF token parameter on the update-all link; replay the request without a valid token after the patch and confirm the server rejects it with an error or login redirect.
Typical attack path
- Identify the unauthenticated or low-privilege language-pack update endpoint in the Moodle installation
- Craft a malicious link or embedded request that omits or ignores the missing CSRF token
- Deliver the link to an administrator via phishing, watering-hole, or cross-site embedding
- Victim loads the page while authenticated, causing the browser to issue the update request
- Server accepts and processes the forged request, installing or refreshing language packs
How to detect it
Search web-server access logs and Moodle application logs for requests to language-pack update endpoints that originate from external referrers, lack expected session tokens, or occur at unusual times; correlate with any sudden spikes in language-pack download activity.
What your security team should do
- Apply the referenced commit or newer maintenance release to all Moodle instances within the next maintenance window
- Review web and application logs for language-pack update events occurring outside scheduled maintenance
- Temporarily restrict the language-pack management capability to the smallest set of trusted administrators
- Add a SIEM rule to alert on POSTs to the language-pack endpoint that lack a valid referrer or session token
The record
The link to update all installed language packs did not include the necessary token to prevent a CSRF risk.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Packagist | moodle/moodle | 0 | 4.1.9 |
| Packagist | moodle/moodle | 4.2.0 | 4.2.6 |
| Packagist | moodle/moodle | 4.3.0 | 4.3.3 |
| Bitnami | moodle | 0 | 4.1.9 |
| Bitnami | moodle | 4.3.0 | 4.3.3 |
| 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 | No fix |
| packagist | moodle/moodle | 4.2.0 | 4.2.6 |
| packagist | moodle/moodle | 4.3.0 | No fix |
| packagist | moodle/moodle | 4.3.0 | 4.3.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