CVE-2025-3641: Remote Code Execution im Dropbox-Repository von Moodle
Verweise auf Dropbox-Dateien hat Moodle als serialisierten PHP-Wert gespeichert und bei jedem Zugriff ohne Klassenbeschränkung zurückgelesen. Wer in einem Kurs Dateien einbinden durfte, konnte darüber Code auf dem Server ausführen.
1Zusammenfassung
- Advisory
- MSA-25-0023
- System
- Moodle
- Komponente
- Dropbox-Repository (repository_dropbox)
- Fehlerklasse
- Remote Code Execution (unsichere Deserialisierung)
- Schwere
- Serious
Eine Datei aus Dropbox muss nicht nach Moodle kopiert werden. Moodle kann auch nur einen Verweis speichern, während die Datei beim Anbieter bleibt.
Diesen Verweis hat das Dropbox-Repository mit unserialize() gelesen, ohne die zulässigen Klassen festzulegen. Gelangt ein veränderter Verweis in die Datenbank, entstehen beim Lesen Objekte aus dem Moodle-Code, über die sich am Ende eigener Code auf dem Server ausführen lässt.
Gemeldet von Vincent Schneider über den Security-Prozess von Moodle, veröffentlicht als MSA-25-0023.
2Wer ist betroffen
Lehrende mit Bearbeitungsrechten und Manager, auf Websites mit aktiviertem Dropbox-Repository.
Dateien aus Repositorys einbinden dürfen in der Standardkonfiguration Lehrende mit Bearbeitungsrechten und Manager, Studierende und Gäste dagegen nicht.
Das Dropbox-Repository muss aktiviert sein. An Hochschulen haben oft Hunderte externe Lehrbeauftragte ein Lehrkonto, und schon ein einziges übernommenes reicht als Ausgangspunkt.
3Auswirkung
Mit Code auf dem Server ist das Datenbankpasswort aus config.php lesbar und damit der Weg frei zu Noten, Abgaben und Personendaten aller Konten. Die Trennung nach Kursen hilft hier nicht, weil der Angriff unterhalb der Rechteprüfung von Moodle ansetzt.
4Behebung
- Betroffene Versionen
- 4.5.0 bis 4.5.3, 4.4.0 bis 4.4.7, 4.3.0 bis 4.3.11, 4.1.17 und älter
- Behoben in
- 4.5.4, 4.4.8, 4.3.12, 4.1.18
- Veröffentlicht
- 22.04.2025
- Fix im Quellcode
- 27b839b
Moodle liest die Verweise jetzt mit unserialize_object(), das nur einfache Datenobjekte erzeugt.
Wer nicht sofort aktualisieren kann, schaltet das Dropbox-Repository bis zum Update ab.
Diese Fehlerklasse prüfen wir in jedem Projekt, das wir bauen oder auditieren. Für fremden Code als Sicherheitsaudit.
5 / Kontakt
Sollen wir Ihre Moodle-Plugins prüfen?
Beschreiben Sie Ihr Vorhaben in drei kurzen Schritten. Wir melden uns in der Regel innerhalb eines Werktags.