Pfad
Start / Sicherheit / CVE-2025-3641
Fehlerklasse
Remote Code Execution (unsichere Deserialisierung)
Veröffentlicht
22.04.2025
Schwere
Serious

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.