Toinen Apachen httpd:n haavoittuvuus, joka sallii pääsyn sivuston juurihakemiston ulkopuolelle

Apache http -palvelimelle on löydetty uusi hyökkäysvektori, joka jäi korjaamatta päivityksessä 2.4.50 ja mahdollistaa pääsyn tiedostoihin sivuston juurihakemiston ulkopuolelta. Lisäksi tutkijat ovat löytäneet menetelmän, joka sallii tiettyjen epästandardien asetusten läsnä ollessa järjestelmätiedostojen lukemisen lisäksi myös koodin etäsuorittamisen palvelimella. Ongelma ilmenee vain julkaisuissa 2.4.49 ja 2.4.50; se ei vaikuta aiempiin versioihin. Uuden haavoittuvuuden poistamiseksi Apache httpd 2.4.51 julkaistiin nopeasti.

Uusi ongelma (CVE-2021-42013) on pohjimmiltaan täysin samanlainen kuin alkuperäinen haavoittuvuus (CVE-2021-41773) versiossa 2.4.49, ainoa ero on ".."-merkkien erilainen koodaus. Erityisesti julkaisussa 2.4.50 estettiin mahdollisuus käyttää sekvenssiä "%2e" pisteen koodaamiseen, mutta kaksoiskoodauksen mahdollisuus jätettiin huomiotta - määritettäessä sekvenssiä "%%32%65", palvelin pursi sen kohtaan "%2e" ja sitten " .", ts. edelliseen hakemistoon siirtyvät "../"-merkit voidaan koodata muodossa ".%%32%65/".

Mitä tulee haavoittuvuuden hyödyntämiseen koodin suorittamisen kautta, tämä on mahdollista, kun mod_cgi on käytössä ja käytetään peruspolkua, jossa CGI-skriptien suorittaminen on sallittu (esimerkiksi jos ScriptAlias-direktiivi on käytössä tai ExecCGI-lippu on määritetty Optiodirektiivi). Onnistuneen hyökkäyksen pakollinen vaatimus on myös pääsy hakemistoihin, joissa on suoritettavat tiedostot, kuten /bin, tai pääsy tiedostojärjestelmän juureen "/" Apachen asetuksissa. Koska tällaista pääsyä ei tyypillisesti myönnetä, koodin suoritushyökkäyksillä on vain vähän sovelluksia todellisissa järjestelmissä.

Samaan aikaan hyökkäys mielivaltaisten järjestelmätiedostojen sisällön ja web-komentosarjojen lähdetekstien hankkimiseksi, jonka käyttäjä voi lukea http-palvelinta, on edelleen merkityksellinen. Tällaisen hyökkäyksen suorittamiseen riittää, että sivustolla on hakemisto, joka on määritetty käyttämällä "Alias"- tai "ScriptAlias"-direktiivejä (DocumentRoot ei riitä), kuten "cgi-bin".

Esimerkki hyväksikäytöstä, jonka avulla voit suorittaa "id"-apuohjelman palvelimella: 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; kaiku; id' uid=1(daemon) gid=1(daemon) ryhmät=1(daemon)

Esimerkki hyväksikäytöstä, jonka avulla voit näyttää tiedoston /etc/passwd sisällön ja yhden web-skripteistä (skriptikoodin tulostamiseksi on määritettävä "Alias"-direktiivin kautta määritetty hakemisto, jonka komentosarjan suoritus ei ole käytössä perushakemistona): 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'

Ongelma vaikuttaa pääasiassa jatkuvasti päivittyviin jakeluihin, kuten Fedoraan, Arch Linuxiin ja Gentoon, sekä FreeBSD:n portteihin. Haavoittuvuus ei vaikuta konservatiivisten Debian-, RHEL-, Ubuntu- ja SUSE-palvelinjakelujen vakaiden osien paketeihin. Ongelmaa ei ilmene, jos pääsy hakemistoihin on nimenomaisesti estetty "vaadi kaikki estetty" -asetuksella.

Lähde: opennet.ru

Lisää kommentti