Još jedna ranjivost u Apache httpd koja dopušta pristup izvan korijenskog direktorija stranice

Pronađen je novi vektor napada za Apache http poslužitelj, koji je ostao neispravljen u ažuriranju 2.4.50 i dopušta pristup datotekama iz područja izvan korijenskog direktorija stranice. Osim toga, istraživači su pronašli metodu koja omogućuje, u prisutnosti određenih nestandardnih postavki, ne samo čitanje sistemskih datoteka, već i daljinsko izvršavanje njihovog koda na poslužitelju. Problem se pojavljuje samo u izdanjima 2.4.49 i 2.4.50; to ne utječe na starije verzije. Kako bi se uklonila nova ranjivost, brzo je objavljen Apache httpd 2.4.51.

U svojoj srži, novi problem (CVE-2021-42013) potpuno je sličan izvornoj ranjivosti (CVE-2021-41773) u 2.4.49, jedina razlika je drugačije kodiranje znakova “..”. Konkretno, u izdanju 2.4.50 mogućnost korištenja niza "%2e" za kodiranje točke bila je blokirana, ali je propuštena mogućnost dvostrukog kodiranja - prilikom navođenja niza "%%32%65", poslužitelj ga je dekodirao u "%2e", a zatim u " .", tj. znakovi "../" za odlazak u prethodni direktorij mogli bi se kodirati kao ".%%32%65/".

Što se tiče iskorištavanja ranjivosti kroz izvršavanje koda, to je moguće kada je omogućen mod_cgi i koristi se osnovni put u kojem je dopušteno izvršavanje CGI skripti (na primjer, ako je omogućena direktiva ScriptAlias ​​ili je zastavica ExecCGI navedena u Direktive o opcijama). Obavezni uvjet za uspješan napad također je eksplicitno omogućiti pristup direktorijima s izvršnim datotekama, kao što je /bin, ili pristup korijenu datotečnog sustava “/” u postavkama Apachea. Budući da se takav pristup obično ne odobrava, napadi izvršavanjem koda imaju malu primjenu na stvarnim sustavima.

Istodobno ostaje aktualan napad na dobivanje sadržaja proizvoljnih sistemskih datoteka i izvornih tekstova web skripti, čitljivih od strane korisnika pod kojim je pokrenut http poslužitelj. Za izvođenje takvog napada dovoljno je imati direktorij na stranici konfiguriran pomoću direktiva “Alias” ili “ScriptAlias” (DocumentRoot nije dovoljan), kao što je “cgi-bin”.

Primjer eksploatacije koja vam omogućuje izvršavanje uslužnog programa “id” na poslužitelju: 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; jeka; id' uid=1(daemon) gid=1(daemon) groups=1(daemon)

Primjer eksploatacije koji vam omogućuje prikaz sadržaja /etc/passwd i jedne od web skripti (za ispis koda skripte mora se navesti direktorij definiran putem direktive “Alias” za koji 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 utječe na stalno ažurirane distribucije kao što su Fedora, Arch Linux i Gentoo, kao i portove FreeBSD-a. Ranjivost ne utječe na pakete u stabilnim ograncima konzervativnih distribucija poslužitelja Debian, RHEL, Ubuntu i SUSE. Problem se ne pojavljuje ako je pristup direktorijima eksplicitno odbijen korištenjem postavke "zahtijeva sve odbijeno".

Izvor: opennet.ru

Dodajte komentar