Apache lässt sich durch Byteranges lahmlegen

In Apache Version 2 bis hoch zu 2.0.54 befindet sich ein Fehler, durch den der Byterange-Filter die gesamte Datei, von der nur ein Teil angefordert wurde, in den Speicher schaufelt und dort vorhält.

vorlesen Druckansicht 2 Kommentare lesen
Lesezeit: 1 Min.
Von

Der laut Netcraft meistgenutzte Webserver Apache kann durch Byterange-Anfragen -- beispielsweise durch Transferanfragen von Teilstücken einer Datei durch Downloadmanager -- den gesamten Systemspeicher verbrauchen und den Server damit zum Stillstand bringen. Der Fehler findet sich in Apache Version 2 bis hoch zu 2.0.54 und besteht darin, dass der Byterange-Filter die gesamte Datei, von der nur ein Teil angefordert wurde, in den Speicher schaufelt und dort vorhält. Bei mehrfachen Anfragen nach Teilstücken großer (unterschiedlicher) Dateien ließe sich der Server so in die Knie zwingen.

Im Apache-Bugzilla findet sich eine Fehlermeldung hierzu, in der als Workaround eher dubiose Lösungen vorgeschlagen werden: es wird dort empfohlen, die Byterange-Übertragung einfach abzuschalten. Eleganter ist es sicherlich, den angebotenen Patch in die Quellen einzupflegen und den Server neu zu kompilieren und zu installieren -- oder aber auf ein aktualisiertes Paket der eingesetzten Distribution zu warten. Gentoo hat derzeit als einzige Distribution aktualisierte Packages im Angebot, die anderen Distributoren dürften bald folgen. Bis zur Verfügbarkeit des Updates sollten Administratoren dann doch den eher ungelenken Workaround aus dem Bugzilla einsetzen oder sich ihren Apache selber kompilieren. (dmk)