Am 23.04.2020 wurde auf dem Server von wiki.freifunk.net über eine Sicherheitslücke weitere Software installiert, die anscheinend auf anderen Servern nach ähnlichen Sicherheitslücken gesucht hat. Am MediaWiki selbst wurden soweit ersichtlich keine Änderungen vorgenommen oder Daten abgefischt. Der Zugriff blieb anscheinend auf den Webserver-Benutzer begrenzt. Da Analysen in der Richtung aber keine 100%ige Sicherheit bieten können, sollten alle Menschen mit Wiki-Accounts ihre Passwörter dort ändern, auch wenn die Passwörter in der Wiki-Datenbank nach Stand der Technik sicher als Hash abgelegt sind (pbkdf2/sha256). Diejenigen, die sich seit dem 23.04.2020 neu registriert haben, wurden von uns gesondert informiert. Das Wiki nutzt Accounts nur zur Abwehr von Spam und bietet keine persönlichen Postfächer oder ähnliches, entsprechend liegen im Wiki keine personenbezogenen Daten abseits vom gehashten Passwort (und ggf. E-Mail-Adresse) vor.
Vermutlich war das Wiki “Beifang” bei einem größerem Hack von WordPress-Webseiten im Rahmen der Traber- und SSSP-Kampagnen.
Der Hack wurde am 27.04.2020 bemerkt, das Wiki offline genommen, der Rechner komplett neu installiert und die Datenbank aus einem sicheren Backup aus der Zeit vor dem Hack wiederhergestellt. Am 30.04.2020 ging die neue Installation online.
Technischer Hintergrund
Als Einfallstor wurde PHPUnit benutzt, das versehentlich als Development-Dependency via PHP Composer installiert wurde. Composer installiert Abhängigkeiten im “vendor”-Verzeichnis, das in der installierten alten MediaWiki-Version von außen zugänglich war.
Es kamen also mehrere Faktoren zusammen:
- Der Code in PHPUnit ist gelinde gesagt “überraschend” (und wurde vor wenigen Monaten dort auch entfernt)
- Verzeichnisse mit internem Code waren nach außen sichtbar (das wurde in MediaWiki vor einiger Zeit per .htaccess behoben)
- Composer installiert in der Voreinstellung auch Developer-Abhängigkeiten
- Wir haben die Software nicht regelmäßig aktuell gehalten. Leider ist das angesichts von Abhängigkeiten wie dem Freifunk-Skin nicht immer ganz einfach.
Maßnahmen
Der Prozess zum Einrichten und Aktualisieren des Wikis wurde weitgehend automatisiert. Wir werden das Wiki in Zukunft aktuell halten und im Zweifelsfall Aktualität der Software höher priorisieren als Funktionalität wie das Skin.
Zur Vermeidung von Datenhalden werden in Zukunft komplett ungenutzte Accounts automatisch gelöscht bzw. inaktive Accounts nach einiger Zeit deaktiviert und die diesen Accounts zugeordneten Passwort-Hashes und E-Mail-Adressen aus der Datenbank entfernt.
Beim Erstellen von Accounts wird jetzt darauf hingewiesen, ein sicheres Passwort zu setzen, das für keinen anderen Dienst benutzt wird.
Vielen Dank an alle, die sich schnell gekümmert haben und halfen, die Sicherheitslücke schnell zu schließen.