Kritische Sicherheitslücke in wu-ftpd-Server
Zusammenfassung
Janusz Niewiadomski veröffentlichte 2003 auf Bugtraq einen Pufferüberlauf im FTP-Server wu-ftpd in den Versionen 2.5.0 bis 2.6.2. Die Funktion fb_realpath() verarbeitete Pfade über 4096 Byte fehlerhaft; ausnutzen konnte das, wer Schreibrechte hatte und Verzeichnisse anlegen durfte. Die großen Distributionen lieferten Updates, als Workaround half das Verbot neuer Verzeichnisse mit „upload … nodirs“.
Ideen
- Überlange Pfadnamen überschrieben den Stack des FTP-Servers.
- Schreibbare Verzeichnisse wie /incoming machten den Angriff möglich.
- Ob ein Binary verwundbar war, hing vom PATH_MAX des Kernels ab, unter dem es gebaut wurde.
- Distributoren wurden vor der Veröffentlichung informiert.
Einsichten
- Anonyme Schreibrechte vergrößern die Angriffsfläche eines Dienstes erheblich.
- Build-Umgebung und Plattformkonstanten können über die Ausnutzbarkeit einer Lücke entscheiden.
Fakten
- Betroffen war wu-ftpd von 2.5.0 bis 2.6.2 auf x86.
- Red Hat, SUSE, Debian und Mandrake reagierten bereits bei Veröffentlichung mit Updates.
Referenzen
Kritik
- Die Meldung erklärt die PATH_MAX-Abhängigkeit knapp, aber nicht, wie Administratoren ihr eigenes Binary prüfen.
Bemerkungen
- wu-ftpd galt schon damals als fehleranfällig und wurde später weitgehend durch vsftpd und andere Server ersetzt; FTP selbst weicht heute SFTP.
Empfehlungen
- Ersetze klassisches FTP durch SFTP oder FTPS mit eng begrenzten Schreibrechten.
- Verbiete in Upload-Verzeichnissen das Anlegen von Unterverzeichnissen, wenn es nicht gebraucht wird.
Links zur Originalquelle und zum Webarchiv öffnen einen neuen Tab.