CVE-2024-34004: Lokale Dateieinbindung über manipulierte Wiki-Sicherungen in Moodle
Welcher Parser eine Wiki-Seite darstellt, hängt an ihrem Format. Beim Wiederherstellen kam dieses Format aus der Sicherungsdatei und wurde ohne Bereinigung zum Namen der Datei, die Moodle einband.
1Zusammenfassung
- Advisory
- MSA-24-0015
- System
- Moodle
- Komponente
- Wiki-Aktivität (mod_wiki)
- Fehlerklasse
- Lokale Dateieinbindung (LFI)
- Schwere
- Serious
Moodle-Wikis kennen mehrere Auszeichnungssprachen, darunter Creole und NWiki. Für jede liegt ein Parser als PHP-Datei unter mod/wiki/parser/markups, und Moodle wählt die Datei über das Format der Seite aus.
Gesichert werden sowohl das Format jeder Seite (contentformat) als auch das Standardformat des Wikis (defaultformat). Beide Werte setzte Moodle nach dem Wiederherstellen unverändert in den Dateinamen ein.
Gemeldet von Vincent Schneider über den Security-Prozess von Moodle, veröffentlicht als MSA-24-0015.
2Wer ist betroffen
Nutzer mit dem Recht, Wikis wiederherzustellen, sofern sie auf einem falsch konfigurierten Shared Hosting Dateien außerhalb des Moodle-Verzeichnisses ablegen können.
Ausnutzen ließ sich das nur in einer bestimmten Umgebung: einem Shared Hosting, das Kunden gegenseitigen Zugriff auf ihre Inhalte erlaubt. Dort konnte eine Person, die in Moodle Wikis wiederherstellen darf, eine Datei aus dem Hosting-Bereich außerhalb von Moodle zum Parser machen.
3Auswirkung
Eingebundener Code läuft innerhalb von Moodle. Was die Anwendung lesen und schreiben darf, steht damit auch ihm offen, bis hin zur Konfigurationsdatei mit dem Passwort der Datenbank.
4Behebung
- Betroffene Versionen
- 4.3.0 bis 4.3.3, 4.2.0 bis 4.2.6, 4.1.9 und älter
- Behoben in
- 4.3.4, 4.2.7, 4.1.10
- Veröffentlicht
- 13.05.2024
- Fix im Quellcode
- d5a99b1
Beim Wiederherstellen werden beide Formatwerte jetzt auf Buchstaben bereinigt. Zusätzlich prüft der Parser den übergebenen Typ selbst und lädt nur Dateien, die es im Parser-Verzeichnis gibt.
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.