Remote Code Execution: Doppelte Hintertür in Webmin
In der Systemkonfigurationssoftware Webmin waren offenbar für über ein Jahr Hintertüren, mit denen sich übers Netz Code ausführen lässt. Den Angreifern gelang es dabei offenbar, die Release-Dateien des Projekts zu manipulieren.
Eine von Angreifern eingefügte Hintertür gefährdet Nutzer der Software Webmin. Der Schadcode wurde in die Release-Archive auf Sourceforge eingefügt. Der unbekannte Angreifer muss dabei über einen längeren Zeitraum die Möglichkeit gehabt haben, den Release-Prozess zu beeinflussen: In unterschiedlichen Versionen der Software sind verschiedene Varianten von Hintertüren.
Webmin ist eine unter einer BSD-Lizenz veröffentlichte freie Software, mit der man auf Unix-Systemen die Konfiguration des Betriebssystems über ein Webinterface vornehmen kann. Die Software ist in Perl geschrieben.
Fehlerhafte Infos auf der Def Con veröffentlicht
Informationen über die Sicherheitslücke wurden zunächst auf der Def-Con-Konferenz veröffentlicht. Ein dazugehöriger Blogpost enthält allerdings einige Irrtümer. Der Code, der im Blogpost gezeigt und als angeblich unsicher bezeichnet wird, ist völlig in Ordnung. Der gezeigte Exploitcode funktioniert aber, da er die Backdoor auslöst. Eine Diskussion darüber findet man auf Reddit.
Die eingefügten Sicherheitslücken finden sich in der Funktion zum Ändern des Passworts. Wir haben die Hintertüren mit Hilfe des IT-Sicherheitsexperten Roman Mueller in einer lokalen Installation analysiert. Dabei zeigte sich, dass je nach Version von Webmin zwei verschiedene Hintertüren vorhanden sind.
In Version 1.900 und höher ruft der verwundbare Perl-Code die Funktion qx auf und übergibt als Parameter die Variable für das alte Passwort, die schlicht "old" heißt. Diese Funktion führt die übergebene Variable als Shell-Code aus. Aufgerufen wird dieser Code allerdings nur, wenn Webmin so konfiguriert ist, dass Nutzer ihre Passwörter ändern können.
In der älteren Version 1.890 wird ebenfalls qx aufgerufen, allerdings mit einer anderen Variablen ("expired"). Zudem funktioniert die Hintertür dort auch in der Standardkonfiguration, da der Code früher aufgerufen wird.
Beide Hintertüren sind nicht im Github-Repository von Webmin zu finden. Nur die Release-Tarballs, die das Projekt auf Sourceforge veröffentlicht, sind kompromittiert. Mitarbeiter von Sourceforge haben jedoch erklärt, dass sie den Vorfall analysiert haben und dass die kompromittierten Dateien genau die sind, die vom Projekt hochgeladen wurden.
Die erste Hintertür führte zu Bugreports, aber niemand erkannte die Brisanz
Dass etwas mit dem Code nicht stimmte, hatte ein Nutzer von Webmin bereits vor einem Jahr bemerkt. Ein Fehlerbericht auf Github deutet darauf hin, dass der eingefügte Code in manchen Situationen zu unerklärlichen Fehlermeldungen führte. Dort wird auch erwähnt, dass sich der Code im Release von Webmin von dem im Github-Repository unterscheidet. Doch offenbar erkannte niemand die Brisanz dieser Information.
Inzwischen hat Webmin eine Stellungnahme veröffentlicht und neue Versionen mit den Versionsnummern 1.930 und 1.780 veröffentlicht. Darin kritisieren die Webmin-Entwickler, dass Informationen über die Sicherheitslücke einfach veröffentlicht wurden, ohne vorab mit ihnen Kontakt aufzunehmen. Neben der entfernten Hintertür sind in den neuen Versionen auch einige Cross-Site-Scripting-Sicherheitslücken geschlossen worden.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
- ohne Werbung
- mit ausgeschaltetem Javascript
- mit RSS-Volltext-Feed









Woher kommt die Falschinformation zur Wartung? Siehe hier: github_dot_com/webmin/webmin...
Naja, wenn ich das ganze in ein entsprechend gesichertes VLAN packe, welches nur...
Aber es ist eben doch aufgefallen. Aber das die Maintainer auf die vor einem Jahr...
Also, früher habe ich auch mal Webmin eingesetzt, da ich die Konfiguration des Webservers...