Zum Hauptinhalt Zur Navigation

Nginx: Fehler ermöglicht ungeprüften Zugriff auf Dateien

Durch einen Fehler in Nginx können Angreifer ungeprüft sich Zugriff auf ausführbare Dateien auf einem Webserver verschaffen. Neue Versionen beheben den Fehler bereits, ein Workaround gibt es ebenfalls.
/ Jörg Thoma
6 Kommentare News folgen (öffnet im neuen Fenster)
Ein Fehler in Nginx erlaubt das ungeprüfte Verarbeiten von Dateien. (Bild: Nginx)
Ein Fehler in Nginx erlaubt das ungeprüfte Verarbeiten von Dateien. Bild: Nginx

Ein bereits behobener Fehler im Webserver Nginx erlaubt die Übergabe von Verzeichnis- oder Dateipfaden ohne die üblichen Sicherheitsprüfungen. In den aktuellen Versionen 1.5.7 und 1.4.4 des Webservers wurde der Fehler bereits korrigiert. Außerdem gibt es einen Patch. Mit einem temporären Workaround können Administratoren den Fehler selbst beheben. Distributionen wie Red Hat oder Debian werden in Kürze aktualisierte Pakete anbieten. Dort wird der Fehler als kritisch eingestuft.

Der Webserver Nginx in den Versionen 0.8.41 bis 1.5.6 überprüft keine Zeichen in angefragten URIs, die auf ein unmaskiertes Leerzeichen folgen, etwa /foo /.../protected/file . Im HTTP-Protokoll sind solche Zeichenfolgen zwar nicht erlaubt, aus Kompatibilitätsgründen verarbeiteten frühere Versionen von Nginx sie aber dennoch. Auch eine Konfiguration wie location ~ \.php$ { fastcgi_pass … } kann das Ausführen einer Datei mit darauf folgendem Leerzeichen auslösen, etwa /file \0.php , heißt es in dem Security Advisory CVE-2013-4547(öffnet im neuen Fenster) des Nginx-Teams.

Reparierte Nginx-Versionen stehen bereit

Der Fehler, den Ivan Fratric vom Google Security Team entdeckte, lässt sich temporär beheben, indem jeder Server{}-Block um folgenden Eintrag ergänzt wird: if ($request_uri ~ " ") { return 444; } . Dabei ist das Leerzeichen zwischen den Anführungszeichen zu beachten.

Der Patch(öffnet im neuen Fenster) steht auf den Servern des Nginx-Projekts ebenso bereit wie die aktualisierten Versionen 1.5.7 und 1.4.4(öffnet im neuen Fenster) . Bei den Distributionen wie Debian(öffnet im neuen Fenster) oder Red Hat(öffnet im neuen Fenster) ist der Fehler bereits bekannt und sollte in Kürze behoben werden.


Relevante Themen