Nog een kwetsbaarheid in Apache httpd die toegang mogelijk maakt buiten de hoofdmap van de site

Er is een nieuwe aanvalsvector gevonden voor de Apache http-server, die in update 2.4.50 niet is gecorrigeerd en toegang geeft tot bestanden vanuit gebieden buiten de hoofdmap van de site. Bovendien hebben onderzoekers een methode gevonden waarmee, in de aanwezigheid van bepaalde niet-standaard instellingen, niet alleen systeembestanden kunnen worden gelezen, maar ook hun code op afstand op de server kan worden uitgevoerd. Het probleem doet zich alleen voor in releases 2.4.49 en 2.4.50; eerdere versies worden niet beïnvloed. Om de nieuwe kwetsbaarheid te elimineren werd Apache httpd 2.4.51 snel uitgebracht.

In de kern is het nieuwe probleem (CVE-2021-42013) volledig vergelijkbaar met de oorspronkelijke kwetsbaarheid (CVE-2021-41773) in 2.4.49, het enige verschil is een andere codering van de “..”-tekens. In het bijzonder werd in release 2.4.50 de mogelijkheid om de reeks "%2e" te gebruiken om een ​​punt te coderen geblokkeerd, maar de mogelijkheid van dubbele codering werd gemist - bij het specificeren van de reeks "%%32%65" decodeerde de server deze in "%2e" en vervolgens in " .", d.w.z. de "../"-tekens om naar de vorige map te gaan, kunnen worden gecodeerd als ".%%32%65/".

Wat betreft het misbruiken van de kwetsbaarheid door het uitvoeren van code: dit is mogelijk wanneer mod_cgi is ingeschakeld en het basispad wordt gebruikt waarin de uitvoering van CGI-scripts is toegestaan ​​(bijvoorbeeld als de ScriptAlias-richtlijn is ingeschakeld of de ExecCGI-vlag is opgegeven in de Optierichtlijn). Een verplichte vereiste voor een succesvolle aanval is ook om expliciet toegang te verlenen tot mappen met uitvoerbare bestanden, zoals /bin, of toegang tot de root van het bestandssysteem “/” in de Apache-instellingen. Omdat dergelijke toegang doorgaans niet wordt verleend, hebben aanvallen op het uitvoeren van code weinig toepassing op echte systemen.

Tegelijkertijd blijft de aanval om de inhoud van willekeurige systeembestanden en bronteksten van webscripts te bemachtigen, leesbaar voor de gebruiker waaronder de http-server draait, relevant. Om een ​​dergelijke aanval uit te voeren, volstaat het om een ​​map op de site te configureren met behulp van de richtlijnen “Alias” of “ScriptAlias” (DocumentRoot is niet voldoende), zoals “cgi-bin”.

Een voorbeeld van een exploit waarmee u het “id”-hulpprogramma op de server kunt uitvoeren: curl 'http://192.168.0.1/cgi-bin/.%%32%65/.%%32%65/.%% 32%65/.%% 32%65/.%%32%65/bin/sh' —data 'echo Inhoudstype: tekst/plain; echo; id' uid=1(daemon) gid=1(daemon) groepen=1(daemon)

Een voorbeeld van exploits waarmee u de inhoud van /etc/passwd en een van de webscripts kunt weergeven (om de scriptcode uit te voeren, moet de map die is gedefinieerd via de “Alias”-instructie, waarvoor scriptuitvoering niet is ingeschakeld, worden opgegeven als de basismap): curl 'http://192.168.0.1 .32/cgi-bin/.%%65%32/.%%65%32/.%%65%32/.%%65%32/.% %65%192.168.0.1/etc/passwd' curl 'http: //32/aliaseddir/.%%65%32/.%%65%32/.%%65%32/.%%65%32/. %%65%2/usr/local/apacheXNUMX/cgi -bin/test.cgi'

Het probleem heeft vooral betrekking op voortdurend bijgewerkte distributies zoals Fedora, Arch Linux en Gentoo, evenals op ports van FreeBSD. Pakketten in de stabiele takken van de conservatieve serverdistributies Debian, RHEL, Ubuntu en SUSE worden niet getroffen door het beveiligingslek. Het probleem treedt niet op als de toegang tot mappen expliciet wordt geweigerd met behulp van de instelling 'alles geweigerd'.

Bron: opennet.ru

Voeg een reactie