Kritische SicherheitslĂĽcke in wu-ftpd-Server
Der ftp-Server wu-ftpd hat eine Schwachstelle, mit der sich ein Angreifer Root-Rechte verschaffen kann.
Janusz Niewiadomski hat auf Bugtraq eine Beschreibung über eine schwere Sicherheitslücke im wu-ftpd-Server veröffentlicht. Der Fehler verursacht einen Buffer Overflow, der den Stack überschreibt und somit potenziell für einen Exploit geeignet ist. Getestet wurden x86-System mit wu-ftpd 2.5.0 bis einschließlich 2.6.2.
Schuld an dem Fehler ist die Funktion fb_realpath(), mit der man die Länge von Pfadangaben verarbeitet. Sind diese länger als 4096 Bytes, wird ein Buffer Overflow provoziert. Um den Fehler auszunutzen, muss ein Angreifer ftp-Schreibzugriff auf den Server haben und Verzeichnisse anlegen können -- bei vielen ftp-Servern darf man in /pub oder zumindest /incoming schreiben. Anschließend kann man zum Beispiel mit den Befehlen STOR, RETR und MKD und einem überlangen Pfadnamen den Stack überschreiben -- mit den üblichen Folgen eines Buffer Overflows. Allerdings muss wu-ftpd auf Grund der Variable PATH_MAX unter bestimmten Kernel-Versionen übersetzt worden sein, damit der Fehler auftreten kann. Im Advisory heißt es dazu: "Linux 2.2.x and some early 2.4.x kernel versions defines PATH_MAX to be 4095 characters, thus only wu-ftpd binaries compiled on 2.0.x or later 2.4.x kernels are affected."
Alle Linux-Distributoren wurden vor der Veröffentlichung des Fehlers informiert. Red Hat, Suse, Debian und Mandrake haben bereits mit Updates ihrer Pakete reagiert und empfehlen dringend deren Einspielen. Als Workaround kann in der Konfiguration des wu-ftpd-Servers auch das Anlegen von Verzeichnissen verhindert werden, zum Beispiel mit upload /var/ftp/incoming nodirs. (dab)