Az Apache httpd másik biztonsági rése, amely a webhely gyökérkönyvtárán kívüli hozzáférést tesz lehetővé

Új támadási vektort találtak az Apache http-kiszolgálóhoz, amely a 2.4.50-es frissítésben nem javított, és lehetővé teszi a webhely gyökérkönyvtárán kívüli területekről származó fájlokhoz való hozzáférést. Emellett a kutatók találtak egy olyan módszert is, amely bizonyos nem szabványos beállítások megléte esetén nemcsak a rendszerfájlok olvasását teszi lehetővé, hanem a kódjuk távoli végrehajtását is lehetővé teszi a szerveren. A probléma csak a 2.4.49-es és a 2.4.50-es kiadásban jelentkezik, a korábbi verziókat nem érinti. Az új sebezhetőség kiküszöbölésére az Apache httpd 2.4.51 gyorsan megjelent.

Lényegében az új probléma (CVE-2021-42013) teljesen hasonló a 2021-ben található eredeti sérülékenységhez (CVE-41773-2.4.49), az egyetlen különbség a „..” karakterek eltérő kódolása. Különösen a 2.4.50-es kiadásban blokkolták a „%2e” szekvencia használatának lehetőségét egy pont kódolására, de a kettős kódolás lehetősége kimaradt – a „%%32%65” szekvencia megadásakor a szerver dekódolta azt. a "%2e"-be, majd a "."-be, azaz. az előző könyvtárba ugráshoz a "../" karaktereket ".%%32%65/"-ként lehet kódolni.

Ami a sérülékenység kódfuttatáson keresztül történő kihasználását illeti, ez akkor lehetséges, ha a mod_cgi engedélyezve van, és az alap elérési utat használja, amelyen a CGI-szkriptek végrehajtása engedélyezett (például, ha a ScriptAlias-direktíva engedélyezve van, vagy az ExecCGI jelző meg van adva a Opciók irányelv). A sikeres támadás kötelező feltétele az is, hogy az Apache beállításaiban kifejezett hozzáférést biztosítsanak a végrehajtható fájlokat tartalmazó könyvtárakhoz, például a /bin könyvtárhoz, vagy hozzáférést biztosítsanak a fájlrendszer „/” gyökeréhez. Mivel az ilyen hozzáférést általában nem adják meg, a kódvégrehajtási támadásoknak kevés a valós rendszerekre való alkalmazása.

Ugyanakkor továbbra is releváns a tetszőleges rendszerfájlok tartalmának és a webszkriptek forrásszövegeinek megszerzésére irányuló támadás, amelyet a felhasználó olvashat, amely alatt a http-kiszolgáló fut. Egy ilyen támadás végrehajtásához elegendő, ha a webhelyen egy könyvtárat kell beállítani az „Alias” vagy a „ScriptAlias” direktívákkal (a DocumentRoot nem elég), például „cgi-bin”.

Példa egy kihasználásra, amely lehetővé teszi az „id” segédprogram végrehajtását a szerveren: curl 'http://192.168.0.1/cgi-bin/.%%32%65/.%%32%65/.%% 32%65/.%% 32%65/.%%32%65/bin/sh' —data 'echo Tartalomtípus: szöveg/sima; visszhang; id' uid=1(démon) gid=1(démon) csoportok=1(démon)

Példa azokra az exploitokra, amelyek lehetővé teszik az /etc/passwd és az egyik webszkript megjelenítését (a szkriptkód kiadásához meg kell adni az „Alias” direktíván keresztül meghatározott könyvtárat, amelynél a szkript végrehajtása nincs engedélyezve alapkönyvtárként): 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'

A probléma elsősorban a folyamatosan frissített disztribúciókat érinti, mint például a Fedora, az Arch Linux és a Gentoo, valamint a FreeBSD portjait. A konzervatív Debian, RHEL, Ubuntu és SUSE kiszolgáló disztribúciók stabil ágaiban lévő csomagokat nem érinti a biztonsági rés. A probléma nem jelentkezik, ha a könyvtárakhoz való hozzáférés kifejezetten meg van tiltva a „minden megtagadása szükséges” beállítással.

Forrás: opennet.ru

Hozzászólás