Leerzeichen tricksen Nginx aus

Durch eine Sicherheitslücke im freien Webserver Nginx lassen sich unter bestimmten Bedingungen die Zugangsbeschränkungen für Verzeichnisse und Dateien umgehen. Die Entwickler haben dieses Problem nun mit einem Update behoben.

In Pocket speichern vorlesen Druckansicht 48 Kommentare lesen
Lesezeit: 1 Min.
Von
  • Fabian A. Scherschel

Die Entwickler des freien Webservers Nginx haben eine Sicherheitslücke geschlossen, die es in bestimmten Konfigurationen erlaubte, Zugangsbeschränkungen für Verzeichnisse und Dateien zu umgehen. Betroffen sind die Versionen 0.8.41 bis 1.5.6 des Serverdienstes für Windows, Linux und BSD.

Das Problem geht auf Verhalten des Servers zurück, das aus Kompatibilitätsgründen eingebaut wurde. Zwar dürften Leerzeichen ohne vorangestellte Steuerzeichen laut der HTTP-Spezifikation nicht akzeptiert werden, Nginx verarbeitet sie aber trotzdem. Kommt in einer zu verarbeitenden Adresse ein Leerzeichen vor, überprüft der Webserver die Zugriffsbeschränkungen für die in der Adresse folgenden Verzeichnisse nicht mehr. Das führt dazu, dass ein Angreifer auf Verzeichnisse Zugriff erlangen kann, die der Server eigentlich sperren sollte. Dies trifft allerdings nur zu, wo die Verzeichnisse oder Konfigurationsdateien Leerzeichen enthalten.

Mit den nun zum Download bereitstehenden Versionen 1.5.7 und 1.4.4 haben die Entwickler das Problem behoben. Falls diese Updates nicht zur Verfügung stehen (zum Beispiel bei Linux-Distributionen, die diese noch nicht freigegeben haben), kann man seine Installation absichern, indem man die Folgende Direktive in den server{}-Block einbaut:

if ($request_uri ~ " ") {

  return 444;

}

Die Sicherheitslücke wurde von einem Mitarbeiter des Google Security Teams entdeckt und gemeldet und erhielt die CVE-Nummer 2013-4547. (fab)