CVE-2024-43429

5.3 MEDIUM

📋 TL;DR

This vulnerability in Moodle allows unauthorized users to view hidden user profile fields through gradebook reports. Users without the 'view hidden user fields' capability can access sensitive information that should be restricted. This affects all Moodle instances where gradebook reports are accessible.

💻 Affected Systems

Products:
  • Moodle
Versions: Moodle 4.3.x before 4.3.8, 4.2.x before 4.2.11, 4.1.x before 4.1.14, 4.0.x before 4.0.18, and earlier unsupported versions
Operating Systems: All operating systems running Moodle
Default Config Vulnerable: ⚠️ Yes
Notes: Affects all Moodle installations with gradebook functionality enabled. The vulnerability exists in the gradebook report generation code.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Exposure of sensitive personal information (email addresses, phone numbers, addresses) from hidden profile fields to unauthorized users, potentially leading to privacy violations, harassment, or targeted attacks.

🟠

Likely Case

Unauthorized viewing of contact information or other hidden profile data by students, teaching assistants, or other users who shouldn't have access to this information.

🟢

If Mitigated

Minimal impact if proper access controls and user permissions are already strictly enforced, though some information leakage may still occur.

🌐 Internet-Facing: MEDIUM - Moodle instances exposed to the internet are vulnerable, but exploitation requires authenticated access to gradebook reports.
🏢 Internal Only: MEDIUM - Internal users with gradebook access can exploit this vulnerability to view hidden profile fields they shouldn't see.

🎯 Exploit Status

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

Exploitation requires authenticated access to Moodle and the ability to view gradebook reports. No special tools or advanced knowledge needed.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Moodle 4.3.8, 4.2.11, 4.1.14, 4.0.18

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

Restart Required: No

Instructions:

1. Backup your Moodle installation and database. 2. Download the appropriate patched version from moodle.org. 3. Replace the affected files with the patched versions. 4. Run the upgrade process through the web interface or CLI.

🔧 Temporary Workarounds

Disable gradebook reports

all

Temporarily disable gradebook report access for users who don't need it

Navigate to Site administration > Users > Permissions > Define roles > Edit role capabilities > Set 'moodle/grade:viewall' to 'Prevent' for affected roles

Remove sensitive data from hidden fields

all

Clear any sensitive information from hidden user profile fields

Run SQL: UPDATE mdl_user_info_data SET data = '' WHERE fieldid IN (SELECT id FROM mdl_user_info_field WHERE visible = 0)

🧯 If You Can't Patch

  • Restrict gradebook access to only essential personnel using role-based permissions
  • Audit and remove sensitive information from all hidden user profile fields

🔍 How to Verify

Check if Vulnerable:

Check if hidden user profile fields appear in gradebook reports for users without 'view hidden user fields' capability

Check Version:

Check Moodle version in Site administration > General > Notifications or via CLI: php admin/cli/version.php

Verify Fix Applied:

Verify that hidden user profile fields no longer appear in gradebook reports for unauthorized users after patching

📡 Detection & Monitoring

Log Indicators:

  • Unusual access patterns to gradebook reports
  • Multiple failed permission checks for 'view hidden user fields' capability

Network Indicators:

  • Increased traffic to gradebook report URLs from unauthorized users

SIEM Query:

source="moodle_logs" AND (event="grade_report_viewed" OR event="capability_check_failed") AND user_role!="admin"

🔗 References

📤 Share & Export