Aktuelle Lage: PHP2Shell. Zwei kritische PHP-Lücken (CVSS 9.2) erlauben Schadcode ohne Anmeldung. Patches seit 21.10.2026.Was jetzt zu tun ist →

Moodle-Sicherheit nach PHP2Shell: Lernplattformen richtig absichern

Moodle verwaltet Teilnehmerdaten, Noten und Prüfungsabgaben, oft von Minderjährigen. Nach PHP2Shell zählen PHP-Patch, Neustart von Web und Cron, ein geschütztes moodledata und geprüfte Plugins.

Stand 4 Min. LesezeitPlattformen

Kurz gesagt: Moodle-Sicherheit hängt nach PHP2Shell am PHP des Servers, nicht an Moodle. Weil Lernplattformen Daten von Schülern, Studierenden und Beschäftigten verarbeiten, ist schnelles Handeln wichtig. Patchen Sie PHP für Web und Cron, starten Sie alle Prozesse neu und prüfen Sie config.php, moodledata, Plugins und Admin-Konten.

Was PHP2Shell für Moodle-Betreiber bedeutet

Moodle ist an Schulen, Hochschulen, in der Weiterbildung und für interne Schulungen in Unternehmen verbreitet. Die Plattform verwaltet Namen, E-Mail-Adressen, Kurszugehörigkeiten, Noten, Prüfungsabgaben und Forenbeiträge, an Schulen häufig von Minderjährigen. Die PHP-Lücken CVE-2026-109618 und CVE-2026-109619 erlauben laut PHP-Team Schadcode aus der Ferne ohne Anmeldung.

Moodle-Server sind fast immer aus dem Internet erreichbar, weil Lernende von zu Hause arbeiten. Das BSI empfiehlt bei Warnstufe 3 sofortiges Update und, wenn das nicht geht, Webserver vorübergehend vom Netz zu nehmen. Für Schulen und Bildungsträger ist das organisatorisch schwierig, aber planbar. Branchenspezifische Hinweise finden Sie unter IT-Sicherheit für Schulen und Bildungsträger.

Moodle-Sicherheit: PHP-Version für Web und Cron prüfen

Unter Website-Administration > Server > Umgebung prüft Moodle die PHP-Version und weitere Anforderungen. Unter Server > PHP-Info sehen Administratoren zusätzlich die vollständigen PHP-Angaben. Beides beschreibt das Web-PHP.

Moodle braucht außerdem einen Cronjob, der admin/cli/cron.php regelmäßig über das Kommandozeilen-PHP ausführt. Diese Version kann abweichen und muss ebenfalls gepatcht sein. Behobene Upstream-Versionen sind 8.5.12, 8.4.27, 8.3.36 und 8.2.35; Backports tragen oft ältere Nummern. Welche PHP-Versionen Ihre Moodle-Version unterstützt, prüfen Sie laut Systemanforderungen in der Dokumentation auf moodle.org. Wie Sie danach alle Prozesse sauber neu starten, steht unter PHP-FPM und alle Worker neu starten.

Verzeichnisse und Konfiguration in Moodle

Ort Inhalt Prüfpunkt
config.php Datenbankzugang, wwwroot, Pfad zu moodledata eingeschobener Code, Passwort nach Verdacht ändern
moodledata/ Dateiablage, Abgaben, Sitzungen, Caches außerhalb der Dokumentwurzel, keine PHP-Dateien
mod/, blocks/, local/, theme/ Aktivitäten, Blöcke, lokale Erweiterungen, Designs unbekannte oder veränderte Plugins
admin/cli/ Kommandozeilen-Skripte nur per CLI nutzbar

Moodle bietet eine Einstellung, die das Ändern von Programmpfaden über die Weboberfläche verhindert. Sie gehört in config.php und erschwert es, über ein gekapertes Admin-Konto Programme auf dem Server aufzurufen:

$CFG->preventexecpath = true;

Ungefährliche Prüfungen auf der Kommandozeile, als Benutzer des Webservers:

# Moodle-eigene Status- und Sicherheitsprüfungen ausgeben
php admin/cli/checks.php
php admin/cli/checks.php --type=security
# PHP-Dateien im Datenverzeichnis suchen (Pfad anpassen)
find /pfad/zu/moodledata -type f -name "*.php"
Wichtig

Bei einem Verdacht auf Datenabfluss an einer Schule oder Hochschule sind schnell mehrere Stellen beteiligt: Schulleitung, Träger, Datenschutzbeauftragte und gegebenenfalls die Aufsichtsbehörde. Sichern Sie Logs ab dem 20.10.2026 und dokumentieren Sie jede Maßnahme mit Uhrzeit.

Plugins, Admin-Konten und Uploads

Ein praktischer Hinweis für die Planung: PHP-Updates und Neustarts sollten nicht in Prüfungszeiträume oder laufende Online-Tests fallen. Moodle hat einen Wartungsmodus, der Nutzer vorher informiert. Gegen PHP2Shell schützt er allerdings nicht, weil auch die Wartungsseite von PHP ausgeliefert wird.

Moodle lebt von Plugins: Aktivitäten, Prüfungswerkzeuge, Anbindungen an Videokonferenzen und Schulverwaltung. Jedes Plugin ist zusätzlicher PHP-Code und muss zur Moodle-Version passen. Unter Website-Administration zeigt Moodle verfügbare Updates für Core und Plugins an. Entfernen Sie Plugins, die niemand mehr nutzt, vollständig.

Prüfen Sie die Liste der Website-Administratoren und globale Rollen mit weitreichenden Rechten. Lehrkräfte und Kursersteller brauchen meist keine globalen Rechte. Aktivieren Sie die Zwei-Faktor-Anmeldung zumindest für Administratoren. Erlaubte Dateitypen für Uploads sollten so eng wie möglich gefasst sein; Hinweise dazu bietet Datei-Uploads in PHP sicher umsetzen.

Was ein Moodle-Update kann und was nicht

Ein Moodle-Update schließt Fehler in Moodle und ermöglicht oft neuere PHP-Versionen. Es patcht nicht PHP, startet weder Web- noch Cron-Prozesse neu und entfernt keine fremden Dateien aus moodledata, keine zusätzlichen Administratoren und keine veränderten Plugins. Auch ob in der Zeit vor dem Patch Daten abgeflossen sind, beantwortet ein Update nicht.

Moodle protokolliert Anmeldungen und Aktionen zusätzlich in eigenen Logs, die Administratoren unter Website-Administration > Berichte einsehen. Suchen Sie dort gezielt nach auffälligen Anmeldungen von Administratoren, neuen Konten mit globalen Rollen und Plugin-Installationen seit dem 17.10.2026. Exportieren Sie diese Einträge, bevor automatische Bereinigungen ältere Daten löschen. Die Berichte ergänzen die Webserver-Logs, ersetzen sie aber nicht.

Wie hilft PHP SOS konkret?

  • Wir klären die Zuständigkeit für PHP und lassen Patchstand und Neustart von Web und Cron bestätigen.
  • Wir sichern Logs, Datenbank und moodledata vor jeder Änderung.
  • Wir prüfen Konfiguration, Plugins, Administratoren, Rollen und Uploads.
  • Auf Wunsch betreuen wir die Plattform dauerhaft im Security-Wartungsvertrag, abgestimmt auf Schuljahr und Prüfungszeiten.

Häufige Fragen

Ist Moodle von PHP2Shell betroffen?

Moodle selbst hat keine neue Lücke, läuft aber auf PHP. Ist das PHP des Servers ungepatcht, kann ein Angreifer laut PHP-Team ohne Anmeldung Code ausführen. Ein Moodle-Update ändert daran nichts.

Wo sehe ich in Moodle die PHP-Version?

Unter Website-Administration > Server > Umgebung prüft Moodle die PHP-Version gegen seine Anforderungen. Ob ein Backport eingespielt ist, zeigt Moodle nicht; das bestätigt der Betreiber des Servers.

Warum muss moodledata außerhalb des Webverzeichnisses liegen?

Dort liegen hochgeladene Dateien, Abgaben, Sitzungen und Caches. Ist das Verzeichnis über das Web erreichbar, lassen sich Inhalte womöglich direkt abrufen. Moodle verlangt daher einen Ort außerhalb der Dokumentwurzel.

Wer ist bei Schulen für das PHP-Update zuständig?

Das ist unterschiedlich: Schulträger, Landesbetrieb, kommunales Rechenzentrum oder ein Dienstleister. Klären Sie die Zuständigkeit schriftlich und lassen Sie sich Patchstand und Neustart bestätigen.

Quellen

Sofort-Kontakt

Jede Stunde zählt. Schreiben Sie uns jetzt.

Schildern Sie kurz System, PHP-Version und Beobachtung. Wir melden uns, klären die Lage und arbeiten remote, bis der Vorfall abgeschlossen und dokumentiert ist.

Sofort-Hilfe