De fix voor deze fout zou binnen 4 dagen (96 uur) uitkomen, gaf Apache-president Dirk-Willem van Gullik afgelopen woensdag aan. Eerst was de planning nog binnen 48 uur, maar dat is twee keer bijgesteld. Uiteindelijk is de zelf gestelde deadline niet gehaald.

Killer-tool

Ook maandag is er nog geen nieuwe versie uitgebracht van de veelgebruikte open source-webserver. Dit geldt voor de 2.2-reeks en de 2.0-versie. Beide zijn kwetsbaar. De meest actuele versies zijn 2.2.19 en 2.0.64. Eerstgenoemde is op 22 mei dit jaar verschenen, terwijl de update van de tweede versie van 19 oktober vorig jaar is. De kwetsbaarheid is ook aanwezig in de 1.3-reeks, maar die wordt niet meer ondersteund door Apache.

Sinds vorige week is er wel een tool openbaar waarmee Apache-webservers onderuit zijn te halen. De Apache Killer-tool bestookt zijn doelwit met incomplete verzoeken waardoor de processor (of processors) van de server flink bezet wordt en het systeemgeheugen volloopt. Uiteindelijk leidt dit tot een niet meer reagerende webserver; een denial of service (DoS).

Twee problemen

Apache-grondlegger Dirk-Willem van Gullik merkt op dat er eigenlijk twee problemen spelen. Het ene zit in Apache, maar het ander niet. Het tweede probleem maakt misbruik van een http-element (Range Headers), wat volgens Van Gullik niet alleen Apache raakt. Ook andere webservers zijn kwetsbaar. De cross-server aard van het Range-probleem is in 2007 ook aangegeven door de ontdekker ervan.

De oorzaak zit namelijk in een specificatie (RFC2616) voor webpagina-verzoeken. Een herziening van die specificatie wordt al besproken bij standaardenorganisatie Internet Engineering Task Force (IETF), verwijst de grondlegger van Apache. Een van de aangedragen work-arounds voor de DoS-kwetsbaarheid is het aanpassen van de Range-configuratie voor Apache.

Restant uit 0.9-tijd

Het andere probleem zit wel in Apache zelf. Dit is de inefficiënte afhandeling van niet valide dataverzoeken, schrijft Van Gullik. Dat veroorzaakt vele honderden interne verzoeken voor grote geheugendelen.

Volgens Van Gullik is dat een restant uit de dagen van Apache 0.9, toen één dataverzoek slechts één bestand betrof en één respons nodig had. “Dat moet gefixt worden in de Apache-code", schrijft hij. Wanneer het probleem wel wordt verholpen is vooralsnog onbekend. Van Gulik reageerde niet direct op vragen van Webwereld.

Apache Killer in actie: netbook legt webserver plat.