Pfad
Start / Sicherheit / CVE-2023-28330
Fehlerklasse
Lesen beliebiger Dateien (Path Traversal)
Veröffentlicht
20.03.2023
Schwere
Serious

CVE-2023-28330: Lesen beliebiger Dateien über manipulierte Moodle-Sicherungen

Beim Import alter Sicherungen aus Moodle 1.9 hat das Wiki einen Dateinamen aus dem Archiv ungeprüft an einen Serverpfad angehängt. Darüber ließen sich Dateien lesen, die gar nicht zur Sicherung gehören.

1Zusammenfassung

Advisory
MSA-23-0005
System
Moodle
Komponente
Wiki, Import von Moodle-1.9-Sicherungen (mod_wiki)
Fehlerklasse
Lesen beliebiger Dateien (Path Traversal)
Schwere
Serious

Sicherungen aus Moodle 1.9 wandelt Moodle beim Wiederherstellen in das heutige Format um. Für ein Wiki steht darin der Name einer Datei mit dem Startinhalt, die Moodle aus dem entpackten Archiv nachlädt.

Verzeichnisangaben in diesem Namen wurden nicht entfernt. Der Pfad konnte so aus dem Archiv herausführen, und gelesen wurde dann eine beliebige Datei des Servers.

Gemeldet von Vincent Schneider über den Security-Prozess von Moodle, veröffentlicht als MSA-23-0005.

2Wer ist betroffen

Lehrende, Manager und Administratoren, sofern sie Kurse oder Aktivitäten wiederherstellen dürfen.

Die nötigen Wiederherstellungsrechte haben in der Standardkonfiguration Lehrende, Manager und Administratoren.

Die präparierte Sicherung lädt die Person selbst hoch, auf dem Server muss vorher nichts verändert worden sein.

3Auswirkung

Die wertvollste lesbare Datei ist config.php, denn sie enthält das Passwort der Moodle-Datenbank. Laufen weitere Anwendungen auf demselben Server, sind auch deren Dateien lesbar, soweit der Webserver sie öffnen darf.

Nimmt die Datenbank diese Zugangsdaten an, steht einer Lehrkraft der komplette Datenbestand der Installation offen.

4Behebung

Betroffene Versionen
4.1.0 bis 4.1.1, 4.0.0 bis 4.0.6, 3.11.0 bis 3.11.12, 3.9.19 und älter
Behoben in
4.1.2, 4.0.7, 3.11.13, 3.9.20
Veröffentlicht
20.03.2023
Fix im Quellcode
493205b

Moodle säubert den Dateinamen jetzt mit clean_param() und dem Typ PARAM_FILE, wodurch Verzeichnisangaben verschwinden. Gelesen wird nur noch innerhalb des entpackten Archivs.

Bis zum Update begrenzt es das Risiko, die Rechte zum Wiederherstellen auf vertrauenswürdige Konten zu beschränken.

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.