CVE-2025-3641:
Moodle has an authenticated remote code execution risk in the Moodle LMS Dropbox repository
8.8
Basic Information
Technical Details
Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
---|---|---|---|
moodle/moodle | composer | < 4.1.18 | 4.1.18 |
moodle/moodle | composer | >= 4.3.0-beta, < 4.3.12 | 4.3.12 |
moodle/moodle | composer | >= 4.4.0-beta, < 4.4.8 | 4.4.8 |
moodle/moodle | composer | >= 4.5.0-beta, < 4.5.4 | 4.5.4 |
Vulnerability Intelligence
Miggo AI
Root Cause Analysis
The vulnerability is described as a remote code execution risk due to unsafe deserialization in the Moodle Dropbox repository. The provided commit patch (27b839b5c60389623ca8e3496792b43a44527cd6) modifies the file 'repository/dropbox/lib.php'. In this file, three functions ('get_reference_details', 'fix_old_style_reference', and 'unpack_reference') were identified as using the potentially unsafe 'unserialize()' PHP function. The patch replaces these calls with 'unserialize_object()', which is a Moodle-specific function designed for safer deserialization by restricting allowed classes. The use of 'unserialize()' on data that could potentially be influenced by an authenticated user (teacher or manager, as per the description) is a common vector for PHP Object Injection, leading to RCE. Therefore, these three functions are identified as the vulnerable functions where the unsafe deserialization occurred. The class name 'repository_dropbox' is inferred from the file path and Moodle's typical naming conventions.