Kerentanan anu sanés dina Apache httpd anu ngamungkinkeun aksés luar diréktori akar situs

Vektor serangan anyar geus kapanggih pikeun server Apache http, nu tetep uncorrected dina update 2.4.50 sarta ngidinan aksés ka file ti wewengkon luar diréktori root situs urang. Sajaba ti éta, peneliti geus kapanggih métode anu ngamungkinkeun, ku ayana setélan non-standar tangtu, teu ukur maca file sistem, tapi ogé jarak jauh ngaéksekusi kode maranéhanana dina server. Masalahna ngan ukur muncul dina rilis 2.4.49 sareng 2.4.50; versi sateuacana henteu kapangaruhan. Pikeun ngaleungitkeun kerentanan anyar, Apache httpd 2.4.51 gancang dileupaskeun.

Dina inti na, masalah anyar (CVE-2021-42013) sagemblengna sarupa jeung kerentanan aslina (CVE-2021-41773) dina 2.4.49, hijina bédana nyaéta encoding béda tina ".." karakter. Khususna, dina sékrési 2.4.50 kamampuan ngagunakeun sekuen "% 2e" pikeun ngodekeun hiji titik diblokir, tapi kamungkinan panyandi ganda lasut - nalika netepkeun sekuen "%% 32% 65", server ngadekodekeunana. kana "%2e" lajeng kana ".", i.e. karakter "../" pikeun muka diréktori saméméhna bisa disandikeun jadi ".%%32%65/".

Sedengkeun pikeun ngamangpaatkeun kerentanan ngaliwatan palaksanaan kode, ieu tiasa nalika mod_cgi diaktipkeun sareng jalur dasar dianggo dimana palaksanaan skrip CGI diidinan (contona, upami diréktif ScriptAlias ​​diaktipkeun atanapi bandéra ExecCGI ditetepkeun dina Diréktif pilihan). Sarat wajib pikeun serangan suksés ogé sacara eksplisit nyayogikeun aksés ka diréktori kalayan file anu tiasa dieksekusi, sapertos / bin, atanapi aksés kana akar sistem file "/" dina setélan Apache. Kusabab aksés sapertos henteu biasana dipasihkeun, serangan palaksanaan kode gaduh sakedik aplikasi pikeun sistem nyata.

Dina waktu nu sarua, serangan pikeun ménta eusi file sistem sawenang jeung téks sumber skrip web, bisa dibaca ku pamaké ngabawah server http ngajalankeun, tetep relevan. Pikeun ngalaksanakeun serangan sapertos kitu, cekap gaduh diréktori dina situs anu dikonpigurasi nganggo arahan "Alias" atanapi "ScriptAlias" (DocumentRoot henteu cekap), sapertos "cgi-bin".

Conto eksploitasi anu ngamungkinkeun anjeun ngaéksekusi utilitas "id" dina server: 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; kamandang; id' uid=1(daemon) gid=1(daemon) grup=1(daemon)

Conto eksploitasi anu ngamungkinkeun anjeun pikeun nampilkeun eusi /etc/passwd sareng salah sahiji skrip wéb (pikeun kaluaran kode skrip, diréktori anu ditetepkeun ngaliwatan diréktif "Alias", dimana palaksanaan skrip henteu diaktipkeun, kedah disebatkeun. salaku diréktori dasar): 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'

Masalahna mangaruhan distribusi anu terus diropéa sapertos Fedora, Arch Linux sareng Gentoo, ogé palabuhan FreeBSD. Bungkusan dina cabang stabil tina distribusi server konservatif Debian, RHEL, Ubuntu sareng SUSE henteu kapangaruhan ku kerentanan. Masalahna henteu lumangsung upami aksés ka diréktori sacara eksplisit ditolak nganggo setélan "merlukeun sadayana ditolak".

sumber: opennet.ru

Tambahkeun komentar