Website-Statistiker AWStats führt beliebige Befehle aus

Das weit verbreitete AWStats filtert Benutzereingaben nicht richtig und ermöglicht so, beliebige Systemkommandos auszuführen.

In Pocket speichern vorlesen Druckansicht 71 Kommentare lesen
Lesezeit: 1 Min.
Von

Die weit verbreitete Website-Statistik-Software AWStats filtert Benutzereingaben nicht richtig und ermöglicht so, mit den Privilegien des Webservers beliebige Systemkommandos auf dem Server auszuführen. Verwirrung entstand um das Security Advisory von iDefense, das erst falsche Versionsnummern als von dem Problem betroffen und als Lösung angegeben hatte. Martin Pitt, Sicherheitsspezialist bei Ubuntu, machte iDefense hierauf aufmerksam, woraufhin das Sicherheitsunternehmen die Sachlage klärte: AWStats in Version 6.4 wurde auf den Fehler getestet und die als unstable markierte Version 6.5 behebt ihn.

Das Leck wurde in der in Perl geschriebenen Statistik-Software durch den exzessiven Einsatz von eval()-Funktionen aufgerissen. eval() dient normalerweise dazu, Fehlermeldungen von Funktionen abzufangen und so das Script vor dem Abstürzen zu bewahren. Hierzu wird die Funktion, die in den Klammern übergeben wird, als eigenständiges Perl-Script ausgeführt. Wird also eine nicht geprüfte Benutzereingabe an die Funktion übergeben, ließe sich damit ein beliebiges Perl-Script einschleusen und ausführen -- und selbstverständlich auch eine system()-Anweisung, über die Systembefehle und -programme aufgerufen werden können.

In der Version 6.5 von AWStats wurden die eval()-Anweisungen durch Code ersetzt, der keine Benutzerangaben einbezieht. Als Workaround für AWStats 6.4 schlägt iDefense vor, alle URLPlugins zu deaktivieren, oder wenn möglich die Software auf AWStats 6.5 zu aktualisieren.

Siehe dazu auch: (dmk)