http://heise.de/newsticker/data/dab-19.06.03-038/Ein Fehler in der Anmeldefunktion des ProFTPD-Servers erlaubt das Einloggen ohne gültigen Usernamen und Passwort. Die vom Sicherheitsspezialisten Runlevel gemeldete Schwachstelle setzt die Benutzerverwaltung mit einem PostgreSQL-Server voraus. Das Problem entsteht durch das fehlende Ausfiltern von "Escaped Strings" aus Eingaben -- solche Angriffe werden SQL-Injection-Attacks genannt. Weder ProFTPD noch PostgreSQL bis Version 7.2 filtern solche Eingaben heraus.
Betroffen sind alle Versionen bis 1.2.8. Version 1.2.9rc1 mit PostgreSQL 7.2 beseitigt diesen Fehler. Glücklicherweise verwendet ProFTPD in der Standardinstallation keine Authentifizierung mittels Datenbank, sondern über Pluggable Authentication Modules oder /etc/passwd. ProFTPD wird in vielen Linux-Distributionen als Standard-FTP-Server installiert.
Die Schwachstelle lässt sich beispielsweise folgendermaßen ausnutzen: Gibt ein Benutzer anstatt eines Benutzernamens die Sequenz
')UNION SELECT 'u','p',1001,1001,'/tmp','/bin/bash'
WHERE(''='331 Password required for ')UNION
ein, wird diese direkt mittels mod_sql an die Datenbank weitergegeben und dort ausgeführt. Der Rückgabewert wird an ProFTPD weitergereicht, dem ein gültiger Benutzer vorgetäuscht wird. Wahlweise lassen sich so auch die User-ID und Group-ID zum Erhöhen der Systemrechte manipulieren
Bugreport:
Bug 2087