Još jedna ranjivost u Apache httpd koja omogućava pristup izvan korijenskog direktorija stranice

Pronađen je novi vektor napada za Apache http server, koji je ostao neispravljen u ažuriranju 2.4.50 i omogućava pristup datotekama iz područja izvan korijenskog direktorija stranice. Osim toga, istraživači su pronašli metodu koja omogućava, u prisustvu određenih nestandardnih postavki, ne samo čitanje sistemskih datoteka, već i daljinsko izvršavanje njihovog koda na serveru. Problem se pojavljuje samo u izdanjima 2.4.49 i 2.4.50; starije verzije nisu pogođene. Da bi se eliminisala nova ranjivost, brzo je pušten Apache httpd 2.4.51.

U svojoj srži, novi problem (CVE-2021-42013) je potpuno sličan originalnoj ranjivosti (CVE-2021-41773) u 2.4.49, jedina razlika je drugačije kodiranje znakova ".." Konkretno, u izdanju 2.4.50 je blokirana mogućnost korištenja sekvence "%2e" za kodiranje tačke, ali je propuštena mogućnost dvostrukog kodiranja - kada je specificirao sekvencu "%%32%65", server ju je dekodirao u "%2e", a zatim u ".", tj. znakovi "../" za odlazak u prethodni direktorij mogu biti kodirani kao ".%%32%65/".

Što se tiče iskorištavanja ranjivosti kroz izvršavanje koda, to je moguće kada je mod_cgi omogućen i koristi se osnovna staza u kojoj je dozvoljeno izvršavanje CGI skripti (na primjer, ako je omogućena direktiva ScriptAlias ​​ili je zastavica ExecCGI navedena u Direktiva o opcijama). Obavezni uslov za uspešan napad je i eksplicitno obezbeđivanje pristupa direktorijumima sa izvršnim datotekama, kao što je /bin, ili pristup korenu sistema datoteka “/” u Apache postavkama. Budući da se takav pristup obično ne odobrava, napadi izvršavanja koda imaju malo primjene na stvarne sisteme.

Istovremeno, ostaje relevantan napad na dobijanje sadržaja proizvoljnih sistemskih fajlova i izvornih tekstova web skripti, koje može da čita korisnik pod kojim je pokrenut http server. Da bi se izvršio takav napad, dovoljno je imati direktorij na stranici konfiguriran pomoću direktiva “Alias” ili “ScriptAlias” (DocumentRoot nije dovoljan), kao što je “cgi-bin”.

Primjer eksploatacije koji vam omogućava da izvršite uslužni 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(daemon) gid=1(daemon) groups=1(daemon)

Primjer exploit-a koji vam omogućava da prikažete sadržaj /etc/passwd i jedne od web skripti (da bi se ispisao kod skripte, mora se navesti direktorij definiran putem “Alias” direktive, za koju nije omogućeno izvršavanje skripte kao osnovni direktorij): 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'

Problem uglavnom utiče na distribucije koje se stalno ažuriraju kao što su Fedora, Arch Linux i Gentoo, kao i na portove FreeBSD-a. Ranjivost ne utječe na pakete u stabilnim granama konzervativnih serverskih distribucija Debian, RHEL, Ubuntu i SUSE. Problem se ne pojavljuje ako je pristup direktorijima eksplicitno odbijen korištenjem postavke "zahtijevaj sve odbijeno".

izvor: opennet.ru

Dodajte komentar