En annan sårbarhet i Apache httpd som tillåter åtkomst utanför webbplatsens rotkatalog

En ny attackvektor har hittats för Apache http-servern, som förblev okorrigerad i uppdatering 2.4.50 och tillåter åtkomst till filer från områden utanför webbplatsens rotkatalog. Dessutom har forskare hittat en metod som gör det möjligt att, i närvaro av vissa icke-standardinställningar, inte bara läsa systemfiler, utan också fjärrexekvera sin kod på servern. Problemet förekommer bara i versionerna 2.4.49 och 2.4.50; tidigare versioner påverkas inte. För att eliminera den nya sårbarheten släpptes Apache httpd 2.4.51 snabbt.

I grunden är det nya problemet (CVE-2021-42013) helt likt den ursprungliga sårbarheten (CVE-2021-41773) i 2.4.49, den enda skillnaden är en annan kodning av ".."-tecknen. Speciellt i version 2.4.50 blockerades möjligheten att använda sekvensen "%2e" för att koda en punkt, men möjligheten till dubbelkodning missades - när man specificerade sekvensen "%%32%65" avkodade servern den in i "%2e" och sedan till " .", dvs. "../"-tecknen för att gå till föregående katalog kan kodas som ".%%32%65/".

När det gäller att utnyttja sårbarheten genom kodexekvering är detta möjligt när mod_cgi är aktiverat och bassökvägen används där exekvering av CGI-skript är tillåten (till exempel om ScriptAlias-direktivet är aktiverat eller ExecCGI-flaggan anges i Optionsdirektivet). Ett obligatoriskt krav för en framgångsrik attack är också att uttryckligen ge åtkomst till kataloger med körbara filer, såsom /bin, eller åtkomst till filsystemets rot "/" i Apache-inställningarna. Eftersom sådan åtkomst vanligtvis inte beviljas, har kodexekveringsattacker liten tillämpning på riktiga system.

Samtidigt förblir attacken för att erhålla innehållet i godtyckliga systemfiler och källtexter till webbskript, läsbara av användaren under vilken http-servern körs, relevant. För att utföra en sådan attack räcker det att ha en katalog på webbplatsen konfigurerad med "Alias"- eller "ScriptAlias"-direktiven (DocumentRoot räcker inte), till exempel "cgi-bin".

Ett exempel på en exploatering som låter dig köra "id"-verktyget på servern: curl 'http://192.168.0.1/cgi-bin/.%%32%65/.%%32%65/.%% 32%65/.%% 32%65/.%%32%65/bin/sh' —data 'echo Content-Type: text/plain; eko; id' uid=1(demon) gid=1(demon) grupper=1(demon)

Ett exempel på exploateringar som låter dig visa innehållet i /etc/passwd och ett av webbskripten (för att mata ut skriptkoden måste katalogen som definieras genom "Alias"-direktivet, för vilken skriptkörning inte är aktiverad, anges som baskatalog): 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'

Problemet påverkar främst kontinuerligt uppdaterade distributioner som Fedora, Arch Linux och Gentoo, samt portar av FreeBSD. Paket i de stabila grenarna av de konservativa serverdistributionerna Debian, RHEL, Ubuntu och SUSE påverkas inte av sårbarheten. Problemet uppstår inte om åtkomst till kataloger uttryckligen nekas med inställningen "kräv alla nekade".

Källa: opennet.ru

Lägg en kommentar