Webserver: Apache-Sicherheitslücke ermöglicht Auslesen von Dateien
Ein Fehler im Apache-Webserver lässt Zugriffe außerhalb des Webroots zu, allerdings sind Standardkonfigurationen wohl nicht verwundbar.
Im Apache-Webserver wurde eine Sicherheitslücke entdeckt, die in bestimmten Situationen Zugriffe außerhalb des Webroot-Verzeichnisses möglich macht. Der Fehler ist nur in der erst vor wenigen Wochen Version 2.4.49 enthalten, Nutzer älterer Versionen sind daher nicht verwundbar.
Bei dem Fehler handelt es sich um eine Path-Traversel-Sicherheitslücke. Wenn man in Pfadangaben bei Web-Requests über die Angabe von zwei Punkten ("..") versucht, in das übergeordnete Verzeichnis zu gelangen, sollte dies normalerweise vom Server blockiert werden.
Laut dem Apache-Projekt wird die Lücke bereits aktiv ausgenutzt. Potentiell betroffene Serveradministratoren sollten daher entsprechende Updates schnell installieren.
URL-Encoding ermöglicht Austricksen von Filter
In Web-URLs lassen sich Zeichen über das sogenannte URL-Encoding auch durch ihren ASCII-Code angeben. Das wurde im Filtercode nicht hinreichend berücksichtigt: Wenn man den zweiten Punkt entsprechend codiert (".%2E"), ist eine Umgehung der Filter möglich. Das führt zwar dazu, dass man die Webserver-Filterung austricksen kann, in den meisten Konfigurationen ist jedoch trotzdem kein Zugriff auf beliebige Dateien außerhalb des Webroots möglich. Dafür sorgt, dass in der Standardkonfiguration üblicherweise der Zugriff auf alle Verzeichnisse erstmal über die Option "Require all denied" gesperrt ist und nur individuell in der Konfiguration freigegeben werden kann. Für einen erfolgreichen Angriff müssen aber wohl noch weitere Bedingungen erfüllt sein. In einem Test von Golem.de konnten wir durch Angabe einer entsprechenden URL zwar eine andere Fehlermeldung erzeugen, es gelang uns jedoch nicht, auf Dateien außerhalb des Webroots zuzugreifen. Das war auch dann der Fall, wenn wir in unserem Testserver die "Require all denied"-Option auskommentiert hatten.
Durch die veränderte Fehlermeldung kann man verwundbare Server jedoch erkennen. Hierfür kann man folgendes Curl-Kommando nutzen:
"curl -sk --path-as-is http://localhost/.%2e/test.txt".
Wenn als Fehlermeldung ein 403 Forbidden zurückkommt, handelt es sich um einen verwundbaren Server. Nicht verwundbare Server antworten mit dem Fehler 400 Bad Request.
Das Apache-Projekt hat die Version 2.4.50 seines Webservers veröffentlicht, in der die Lücke geschlossen ist. Sie trägt die Kennung CVE-2021-41773.
Nachtrag vom 8. Oktober 2021, 12:13 Uhr
Wie sich inzwischen herausgestellt hat, war der Fix für die Lücke unvollständig und auch die Version 2.4.50 ist angreifbar. Apache hat dies in Version 2.4.51 behoben, die erneute Lücke trägt die Kennung CVE-2021-42013. Zudem stellte sich inzwischen heraus, dass die Lücke in manchen Konfigurationen Remote-Code-Execution-Angriffe ermöglicht.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
- ohne Werbung
- mit ausgeschaltetem Javascript
- mit RSS-Volltext-Feed










"curl -path-as-is http://192.168.2.79/index.html" -> index.html aus dem web-Root...
Wie reagiert Linux curl auf "-sk" ????
Danke für den Hinweis, korrigieren wir gleich.
Das kommt davon wenn man strikt Upstream folgt... :/ Nun gut, dann updaten wir mal. So...