CVE-2025-26528: Stored XSS im Fragetyp Drag-and-Drop auf Bild in Moodle
Die Beschriftung einer Ablagezone im Fragetyp Drag-and-Drop auf Bild nahm beliebiges HTML an und wurde ungefiltert ausgegeben. Skripte darin liefen im Browser aller, die die Frage sahen.
1Zusammenfassung
- Advisory
- MSA-25-0004
- System
- Moodle
- Komponente
- Fragetyp Drag-and-Drop auf Bild (qtype_ddimageortext)
- Fehlerklasse
- Stored Cross-Site Scripting (XSS)
- Schwere
- Minor
Bei Fragen vom Typ Drag-and-Drop auf Bild ziehen Teilnehmende Texte oder Bilder auf Zonen in einem Hintergrundbild. Jede Zone hat eine Beschriftung, die auf der Seite nicht zu sehen ist und nur von Screenreadern vorgelesen wird.
Das Bearbeitungsformular nahm diese Beschriftung als Rohdaten an (PARAM_RAW). Der Renderer gab sie anschließend ohne format_string() an die Seite und an das JavaScript der Frage weiter, sodass HTML und Skripte in der Beschriftung erhalten blieben.
Gemeldet von Vincent Schneider über den Security-Prozess von Moodle, veröffentlicht als MSA-25-0004.
2Wer ist betroffen
Nutzer, die Fragen dieses Typs anlegen oder bearbeiten dürfen.
Speichern kann eine solche Beschriftung nur, wer Fragen dieses Typs anlegen oder bearbeiten darf. Ausgeführt wird das Skript bei allen, die die Frage zu sehen bekommen, im Test ebenso wie in Vorschau oder Auswertung.
3Auswirkung
Im Browser der betrachtenden Person läuft das Skript in deren Moodle-Sitzung und kann dort in ihrem Namen handeln. Öffnet ein Konto mit weitreichenden Rechten die Frage, etwa in der Vorschau, stehen diese Rechte dem Skript zur Verfügung.
4Behebung
- Betroffene Versionen
- 4.5.0 bis 4.5.1, 4.4.0 bis 4.4.5, 4.3.0 bis 4.3.9, 4.1.15 und älter
- Behoben in
- 4.5.2, 4.4.6, 4.3.10, 4.1.16
- Veröffentlicht
- 18.02.2025
- Fix im Quellcode
- 1ea3084
Seit dem Fix nimmt das Formular nur noch reinen Text an (PARAM_TEXT), und der Renderer schickt die Beschriftung vor der Ausgabe durch format_string(). Weil der Schutz bei der Ausgabe greift, gilt er auch für Fragen, die vor dem Update gespeichert wurden.
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.