Veel üks Apache httpd haavatavus, mis võimaldab juurdepääsu väljaspool saidi juurkataloogi

Apache http-serveri jaoks on leitud uus ründevektor, mis jäi värskenduses 2.4.50 parandamata ja võimaldab juurdepääsu failidele väljaspool saidi juurkataloogi. Lisaks on teadlased leidnud meetodi, mis võimaldab teatud mittestandardsete seadete olemasolul mitte ainult süsteemifaile lugeda, vaid ka serveris oma koodi kaugkäivitada. Probleem ilmneb ainult versioonides 2.4.49 ja 2.4.50; varasemaid versioone see ei mõjuta. Uue haavatavuse kõrvaldamiseks vabastati kiiresti Apache httpd 2.4.51.

Oma tuumas on uus probleem (CVE-2021-42013) täiesti sarnane algse haavatavusega (CVE-2021-41773) versioonis 2.4.49, ainsaks erinevuseks on „..” märkide erinev kodeering. Eelkõige blokeeriti versioonis 2.4.50 punkti kodeerimiseks jada "%2e" kasutamine, kuid topeltkodeerimise võimalus jäi kasutamata - jada "%%32%65" määramisel dekodeeris server selle sisse "%2e" ja seejärel " .", st. Eelmisse kataloogi minevad märgid "../" võivad olla kodeeritud kui ".%%32%65/".

Mis puudutab haavatavuse ärakasutamist koodikäivitamisega, siis see on võimalik, kui mod_cgi on lubatud ja kasutatakse baasteed, kus CGI-skriptide täitmine on lubatud (näiteks kui ScriptAlias-direktiiv on lubatud või ExecCGI lipp on määratud Optsioonide direktiiv). Eduka rünnaku kohustuslik nõue on ka selgesõnaline juurdepääs käivitatavate failidega kataloogidele, nagu /bin, või juurdepääs failisüsteemi juurtele „/” Apache'i sätetes. Kuna sellist juurdepääsu tavaliselt ei anta, on koodikäivitusrünnakutel reaalsetes süsteemides vähe rakendust.

Samal ajal jääb asjakohaseks rünnak suvaliste süsteemifailide sisu ja veebiskriptide lähtetekstide hankimiseks, mida saab lugeda kasutajale, kelle all http-server töötab. Sellise rünnaku läbiviimiseks piisab, kui saidil on kataloog, mis on konfigureeritud "Alias" või "ScriptAlias" direktiivide abil (DocumentRootist ei piisa), näiteks "cgi-bin".

Näide ärakasutamisest, mis võimaldab teil käivitada serveris utiliidi „id”: curl 'http://192.168.0.1/cgi-bin/.%%32%65/.%%32%65/.%% 32%65/.%% 32%65/.%%32%65/bin/sh' —andmed 'kaja Sisutüüp: tekst/tavaline; kaja; id' uid=1(deemon) gid=1(deemon) grupid=1(deemon)

Näide eksploitidest, mis võimaldavad kuvada faili /etc/passwd ja ühe veebiskripti sisu (skripti koodi väljastamiseks tuleb määrata "Alias" direktiiviga määratletud kataloog, mille jaoks skripti täitmine pole lubatud põhikataloogina): 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'

Probleem mõjutab peamiselt pidevalt uuendatavaid distributsioone, nagu Fedora, Arch Linux ja Gentoo, aga ka FreeBSD porte. Konservatiivsete serverijaotuste Debian, RHEL, Ubuntu ja SUSE stabiilsetes harudes olevaid pakette haavatavus ei mõjuta. Probleemi ei teki, kui juurdepääs kataloogidele on sätte „nõua kõiki keelatud” abil selgesõnaliselt keelatud.

Allikas: opennet.ru

Lisa kommentaar