Met spoed is een update voor de Apache http-server 2.4.50 uitgebracht, waarin een al actief misbruikte 0-day kwetsbaarheid (CVE-2021-41773) is verholpen, die toegang tot bestanden buiten de rootdirectory van de website mogelijk maakte. Met deze kwetsbaarheid kunnen willekeurige systeem- en bronbestanden van webscripts die leesbaar zijn voor de gebruiker waaronder de http-server draait, worden geüpload. De ontwikkelaars werden op 17 september over het probleem geïnformeerd, maar konden pas vandaag de update uitbrengen, nadat er gevallen van misbruik van de kwetsbaarheid in het wild waren geregistreerd.
Het gevaar van de kwetsbaarheid wordt verzacht doordat het probleem alleen voorkomt in de recent uitgebrachte versie 2.4.49 en niet alle eerdere versies betreft. In de stabiele takken van conservatieve serverdistributies is versie 2.4.49 nog niet gebruikt (Debian, RHEL, Ubuntu, SUSE), maar het probleem heeft invloed gehad op doorlopende distributies zoals Fedora, Arch Linux en Gentoo, evenals op FreeBSD-poorten.
De kwetsbaarheid is veroorzaakt door een fout die is gemaakt tijdens de herziening van de code voor het normaliseren van paden in de URI, waardoor een met de sequentie '' gecodeerd punt in het pad niet werd genormaliseerd als er een ander punt voorafging. Dit maakte het mogelijk om onbehandelde karakters '..\/ā in het resulterende pad in te voegen door in de aanvraag de sequentie '.\/ā op te geven. Bijvoorbeeld, een aanvraag zoals 'https:\/\/example.com\/cgi-bin\/.\/.\/.\/.\/etc\/passwd' of 'https:\/\/example.com\/cgi-bin\/.\/\/\\/\\/etc\/hosts' stelde in staat de inhoud van het bestand '\/etc\/passwd' op te halen.
Het probleem doet zich niet voor als toegang tot de directories expliciet wordt verboden met de instelling «require all denied». Bijvoorbeeld, voor gedeeltelijke bescherming kan in het configuratiebestand worden aangegeven: require all denied
In versie Apache httpd 2.4.50 is ook een andere kwetsbaarheid (CVE-2021-41524) verholpen die betrekking heeft op de module die het HTTP/2-protocol implementeert. Deze kwetsbaarheid maakte het mogelijk om door het verzenden van een speciaal opgemaakte aanvraag een null-pointer dereferentie te initiƫren en de process te laten crashen. Deze kwetsbaarheid komt ook alleen voor in versie 2.4.49. Als tijdelijke oplossing kan de ondersteuning voor het HTTP/2-protocol worden uitgeschakeld.
Bron: opennet.ru
