Další chyba zabezpečení v Apache httpd, která umožňuje přístup mimo kořenový adresář webu

Pro server Apache http byl nalezen nový vektor útoku, který v aktualizaci 2.4.50 zůstal neopraven a umožňuje přístup k souborům z oblastí mimo kořenový adresář webu. Kromě toho vědci našli metodu, která umožňuje v přítomnosti určitých nestandardních nastavení nejen číst systémové soubory, ale také vzdáleně spouštět jejich kód na serveru. Problém se objevuje pouze ve verzích 2.4.49 a 2.4.50, dřívější verze nejsou ovlivněny. K odstranění nové zranitelnosti byl rychle uvolněn Apache httpd 2.4.51.

V jádru je nový problém (CVE-2021-42013) zcela podobný původní zranitelnosti (CVE-2021-41773) v 2.4.49, rozdíl je pouze v jiném kódování znaků „..“. Konkrétně ve verzi 2.4.50 byla zablokována možnost použít sekvenci „%2e“ ke kódování bodu, ale chyběla možnost dvojitého kódování – při zadání sekvence „%%32%65“ ji server dekódoval do "% 2e" a poté do " .", tj. znaky "../" pro přechod do předchozího adresáře mohou být zakódovány jako ".%%32%65/".

Pokud jde o zneužití zranitelnosti prostřednictvím spuštění kódu, je to možné, když je povoleno mod_cgi a je použita základní cesta, ve které je povoleno spouštění skriptů CGI (například pokud je povolena direktiva ScriptAlias ​​​​nebo je zadán příznak ExecCGI v Opční směrnice). Povinným požadavkem pro úspěšný útok je také explicitní poskytnutí přístupu k adresářům se spustitelnými soubory, jako je /bin, nebo přístup ke kořenovému adresáři souborového systému „/“ v nastavení Apache. Vzhledem k tomu, že takový přístup není obvykle udělován, mají útoky spouštění kódu na skutečné systémy jen malou aplikaci.

Současně zůstává aktuální útok na získání obsahu libovolných systémových souborů a zdrojových textů webových skriptů, čitelných uživatelem, pod kterým http server běží. K provedení takového útoku stačí mít na webu nakonfigurovaný adresář pomocí direktiv „Alias“ nebo „ScriptAlias“ (DocumentRoot nestačí), například „cgi-bin“.

Příklad exploitu, který vám umožňuje spustit obslužný program „id“ na serveru: 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; echo; id’ uid=1(démon) gid=1(démon) skupiny=1(démon)

Příklad exploitů, které umožňují zobrazit obsah /etc/passwd a jednoho z webových skriptů (pro výstup kódu skriptu je nutné zadat adresář definovaný direktivou „Alias“, pro který není povoleno provádění skriptu jako základní adresář): 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'

Problém se týká především průběžně aktualizovaných distribucí jako Fedora, Arch Linux a Gentoo a také portů FreeBSD. Balíčky ve stabilních větvích konzervativních serverových distribucí Debian, RHEL, Ubuntu a SUSE nejsou touto zranitelností ovlivněny. Problém nenastane, pokud je přístup k adresářům výslovně odepřen pomocí nastavení „vyžadovat vše odepřeno“.

Zdroj: opennet.ru

Přidat komentář