CVE-2024-43435

5.3 MEDIUM

📋 TL;DR

This vulnerability in Moodle allows users with course-level glossary restoration permissions to improperly restore glossaries into the global site glossary. This affects Moodle administrators and users with glossary restoration capabilities in courses. The flaw bypasses intended access controls for the global glossary.

💻 Affected Systems

Products:
  • Moodle
Versions: Affected version range
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects installations where users have glossary restoration capabilities in courses. Default configurations may be vulnerable depending on role assignments.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Malicious users could inject inappropriate or malicious content into the global glossary visible to all site users, potentially spreading misinformation or offensive material across the entire platform.

🟠

Likely Case

Accidental or unauthorized glossary entries appearing in the global glossary, causing confusion or minor content pollution that requires administrative cleanup.

🟢

If Mitigated

Limited impact with proper user permission reviews and monitoring, where only trusted users have glossary restoration capabilities.

🌐 Internet-Facing: MEDIUM with brief explanation
🏢 Internal Only: MEDIUM with brief explanation

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: LOW

Exploitation requires authenticated access with specific course-level permissions. The vulnerability is straightforward to exploit once the required permissions are obtained.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Version that fixes this

Vendor Advisory: https://moodle.org/mod/forum/discuss.php?d=461205

Restart Required: No

Instructions:

1. Update Moodle to the patched version. 2. Review and apply the security patch for your specific Moodle version. 3. Verify the fix by testing glossary restoration functionality.

🔧 Temporary Workarounds

Temporary permission restriction

all

Temporarily remove or restrict glossary restoration capabilities from users who don't absolutely need them.

Navigate to Site administration > Users > Permissions > Define roles > Edit role capabilities > Search for 'restore' and 'glossary' capabilities

🧯 If You Can't Patch

  • Review and restrict user roles with glossary restoration capabilities to only essential personnel
  • Implement monitoring for global glossary changes and establish approval workflows for glossary entries

🔍 How to Verify

Check if Vulnerable:

Check if users with course-level glossary restoration permissions can restore glossaries to the global site glossary. Test with a non-admin user having these permissions.

Check Version:

Check Moodle version via Site administration > Notifications page or by examining version.php file

Verify Fix Applied:

After patching, attempt to restore a glossary to the global site glossary with a user having only course-level permissions - this should now be prevented.

📡 Detection & Monitoring

Log Indicators:

  • Unusual glossary restoration activities, especially multiple restoration attempts or restorations by non-admin users

Network Indicators:

  • HTTP POST requests to glossary restoration endpoints from non-admin user accounts

SIEM Query:

Example SIEM/detection query if applicable

🔗 References

📤 Share & Export