Apache httpd-en beste ahultasun bat, gunearen erro-direktoriotik kanpo sarbidea ahalbidetzen duena

Eraso-bektore berri bat aurkitu da Apache http zerbitzariarentzat, 2.4.50 eguneratzean zuzendu gabe geratu zena eta gunearen erro-direktoriotik kanpoko eremuetatik fitxategietara sartzeko aukera ematen du. Horrez gain, ikertzaileek metodo bat aurkitu dute, estandar ez diren ezarpen batzuen aurrean, sistemaren fitxategiak irakurtzeaz gain, zerbitzarian euren kodea urrunetik exekutatzeko. Arazoa 2.4.49 eta 2.4.50 bertsioetan bakarrik agertzen da; aurreko bertsioek ez dute eraginik. Ahultasun berria kentzeko, Apache httpd 2.4.51 azkar kaleratu zen.

Funtsean, arazo berria (CVE-2021-42013) jatorrizko ahultasunaren (CVE-2021-41773) 2.4.49ko guztiz antzekoa da, desberdintasun bakarra "..." karaktereen kodeketa desberdina da. Bereziki, 2.4.50 bertsioan puntu bat kodetzeko "%2e" sekuentzia erabiltzeko gaitasuna blokeatu zen, baina kodetze bikoitzeko aukera galdu zen - "%%32%65" sekuentzia zehaztean, zerbitzariak deskodetu zuen. "%2e" sartu eta gero ".", hau da. aurreko direktoriora joateko "../" karaktereak ".%%32%65/" gisa kodetu litezke.

Kodearen exekuzioaren bidez ahultasuna ustiatzeari dagokionez, hau posible da mod_cgi gaituta dagoenean eta CGI scripten exekuzioa onartzen den oinarrizko bidea erabiltzen denean (adibidez, ScriptAlias ​​​​direktiboa gaituta badago edo ExecCGI bandera zehaztuta badago. Aukerak zuzentaraua). Eraso arrakastatsu baterako derrigorrezko baldintza bat fitxategi exekutagarriak dituzten direktorioetarako sarbidea esplizituki ematea da, hala nola /bin, edo Apache ezarpenetan fitxategi-sistemaren errorako sarbidea "/". Sarbide hori normalean ematen ez denez, kodea exekutatzeko erasoek aplikazio gutxi dute benetako sistemetan.

Aldi berean, http zerbitzaria exekutatzen ari den erabiltzaileak irakur daitezkeen sistema arbitrarioen fitxategien edukia eta web scripten iturburu-testuak lortzeko erasoak garrantzitsua izaten jarraitzen du. Eraso hori burutzeko, nahikoa da webgunean direktorio bat konfiguratuta edukitzea “Alias” edo “ScriptAlias” zuzentarauak erabiliz (DocumentRoot ez da nahikoa), hala nola “cgi-bin”.

Zerbitzarian “id” utilitatea exekutatzeko aukera ematen duen ustiapen baten adibidea: curl 'http://192.168.0.1/cgi-bin/.%%32%65/.%%32%65/.%% 32%65/.%% 32%65/.%%32%65/bin/sh' —datuak 'echo Eduki-mota: testua/lautada; oihartzuna; id' uid=1(daemon) gid=1(daemon) taldeak=1(daemon)

/etc/passwd-ren edukia eta web scriptetako bat bistaratzeko aukera ematen duen ustiapenen adibide bat (script kodea ateratzeko, "Alias" zuzentarauaren bidez definitutako direktorioa zehaztu behar da, zeinetarako script exekuzioa gaituta ez dagoen. oinarrizko direktorio gisa): 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'

Arazoak, batez ere, etengabe eguneratzen diren banaketak eragiten ditu, hala nola Fedora, Arch Linux eta Gentoo, baita FreeBSD portuetan ere. Debian, RHEL, Ubuntu eta SUSE zerbitzari kontserbadoreen banaketaren adar egonkorretan dauden paketeek ez dute kaltetu ahultasunak. Arazoa ez da gertatzen direktorioetarako sarbidea esplizituki ukatzen bada "eskatu ukatu guztiak" ezarpena erabiliz.

Iturria: opennet.ru

Gehitu iruzkin berria