Alia vundebleco en Apache httpd kiu permesas aliron ekster la radika dosierujo de la retejo

Nova atakvektoro estis trovita por la Apache http-servilo, kiu restis nekorektita en ĝisdatigo 2.4.50 kaj permesas aliron al dosieroj de areoj ekster la radika dosierujo de la retejo. Krome, esploristoj trovis metodon, kiu ebligas, en ĉeesto de certaj ne-normaj agordoj, ne nur legi sistemajn dosierojn, sed ankaŭ malproksime ekzekuti sian kodon sur la servilo. La problemo nur aperas en eldonoj 2.4.49 kaj 2.4.50; pli fruaj versioj ne estas tuŝitaj. Por forigi la novan vundeblecon, Apache httpd 2.4.51 estis rapide liberigita.

En ĝia kerno, la nova problemo (CVE-2021-42013) estas tute simila al la originala vundebleco (CVE-2021-41773) en 2.4.49, la nura diferenco estas malsama kodado de la ".." signoj. Precipe, en eldono 2.4.50 la kapablo uzi la sekvencon "%2e" por kodi punkton estis blokita, sed la ebleco de duobla kodigo estis maltrafita - kiam oni specifis la sekvencon "%%32%65", la servilo malkodis ĝin. en "%2e" kaj poste en " .", t.e. la signoj "../" por iri al la antaŭa dosierujo povus esti koditaj kiel ".%%32%65/".

Koncerne ekspluati la vundeblecon per koda ekzekuto, ĉi tio eblas kiam mod_cgi estas ebligita kaj la baza vojo estas uzata en kiu la ekzekuto de CGI-skriptoj estas permesita (ekzemple, se la ScriptAlias ​​​​direktivo estas ebligita aŭ la ExecCGI-flago estas specifita en la Direktivo pri opcioj). Deviga postulo por sukcesa atako ankaŭ estas eksplicite disponigi aliron al dosierujoj kun ruleblaj dosieroj, kiel ekzemple /bin, aŭ aliron al la dosiersistema radiko "/" en la Apache-agordoj. Ĉar tia aliro ne estas tipe koncedita, kodaj ekzekutatakoj havas nur malmulte da apliko al realaj sistemoj.

Samtempe, la atako por akiri la enhavon de arbitraj sistemaj dosieroj kaj fontotekstoj de retaj skriptoj, legeblaj de la uzanto, sub kiu funkcias la http-servilo, restas grava. Por fari tian atakon, sufiĉas havi dosierujon en la retejo agordita per la direktivoj "Alias" aŭ "ScriptAlias" (DocumentRoot ne sufiĉas), kiel "cgi-bin".

Ekzemplo de ekspluato, kiu ebligas al vi ekzekuti la ilon "id" sur la servilo: curl 'http://192.168.0.1/cgi-bin/.%%32%65/.%%32%65/.%% 32%65/.%% 32%65/.%%32%65/bin/sh' —datumoj 'eĥo Enhavo-Tipo: teksto/ebenaĵo; eĥo; id' uid=1(demono) gid=1(demono) grupoj=1(demono)

Ekzemplo de ekspluatoj, kiuj ebligas al vi montri la enhavon de /etc/passwd kaj unu el la retaj skriptoj (por eligi la skriptokodon, la dosierujo difinita per la direktivo "Alias", por kiu skripto-ekzekuto ne estas ebligita, devas esti specifita. kiel la baza dosierujo): buklo 'http://192.168.0.1 .32/cgi-bin/.%%65%32/.%%65%32/.%%65%32/.%%65%32/.% %65%192.168.0.1/etc/passwd' buklo 'http: //32/aliaseddir/.%%65%32/.%%65%32/.%%65%32/.%%65%32/. %%65%2/usr/local/apacheXNUMX/cgi -bin/test.cgi'

La problemo ĉefe influas kontinue ĝisdatigitajn distribuojn kiel Fedora, Arch Linux kaj Gentoo, kaj ankaŭ havenojn de FreeBSD. Pakoj en la stabilaj branĉoj de la konservativaj servilaj distribuoj Debian, RHEL, Ubuntu kaj SUSE ne estas tuŝitaj de la vundebleco. La problemo ne okazas se aliro al dosierujoj estas eksplicite malkonfirmita uzante la agordon "postuli ĉion rifuzitan".

fonto: opennet.ru

Aldoni komenton