O nouă vulnerabilitate în Apache httpd, care permite accesul dincolo de directorul rădăcină al site-ului

A fost găsit un nou vector de atac împotriva serverului HTTP Apache, care a rămas nerezolvat în actualizarea 2.4.50 și permite accesarea fișierelor din zonele din afara directorului rădăcină al site-ului. În plus, cercetătorii au descoperit o metodă care, având anumite setări neobișnuite, permite nu doar citirea fișierelor sistemului, ci și executarea de cod de la distanță pe server. Problema se manifestă doar în versiunile 2.4.49 și 2.4.50; versiunile anterioare nu sunt vulnerabile. Pentru a remedia noua variantă de vulnerabilitate, a fost generat rapid un release Apache httpd 2.4.51.

În esență, noua problemă (CVE-2021-42013) este complet similară cu vulnerabilitatea originală (CVE-2021-41773) în 2.4.49, singura diferență fiind codificarea diferită a caracterelor „..”. În particular, în versiunea 2.4.50 a fost blocată utilizarea secvenței „” pentru codificarea punctului, dar a fost ratată oportunitatea codificării duble — când se specifică secvența „%” serverul a fost decodificată în „”, apoi în „.”, adică caracterele „.. /” pentru a naviga în directorul anterior puteau fi codificate ca „.%/”.

În ceea ce privește exploatarea vulnerabilității prin executarea de cod, acest lucru este posibil doar dacă mod_cgi este activat și folosit un director de bază în care este permisă executarea scripturilor CGI (de exemplu, dacă este activată directiva ScriptAlias sau este specificat flag-ul ExecCGI în directiva Options). O cerință esențială pentru realizarea cu succes a atacului este de asemenea furnizarea explicită în setările Apache a accesului la directoarele cu fișiere executabile, cum ar fi \/bin sau accesul la rădăcina FS „\/”. Deoarece, de obicei, astfel de acces nu este permis, atacul prin executarea codului este rar aplicabil sistemelor reale.

În acest context, rămâne relevant atacul prin obținerea conținutului fișierelor sistemice arbitrare și a codurilor sursă ale scripturilor web, disponibile pentru citire utilizatorului sub care rulează serverul HTTP. Pentru a desfășura un astfel de atac este suficient să existe pe site un director configurat cu directivele „Alias” sau „ScriptAlias” (DocumentRoot nu este suficient), cum ar fi „cgi-bin”.

Exemplu de exploit care permite rularea utilitarului „id” pe server: curl ‘http://192.168.0.1/cgi-bin/.%/.%/.%/.%/.%/bin/sh’ —data ‘echo Content-Type: text/plain; echo; id’ uid=1(daemon) gid=1(daemon) groups=1(daemon)

Exemplu de exploat pentru a extrage conținutul /etc/passwd și unul dintre scripturile web (pentru a returna codul scripturilor ca bază, trebuie specificat un director definit prin directiva „Alias” pentru care execuția scripturilor nu este activată): curl ‘http://192.168.0.1/cgi-bin/.%/.%/.%/.%/.%/etc/passwd’ curl ‘http://192.168.0.1/aliaseddir/.%/.%/.%/.%/.%/usr/local/apache2/cgi-bin/test.cgi’

Problema afectează în principal distribuțiile care sunt actualizate continuu, cum ar fi Fedora, Arch Linux și Gentoo, precum și porturi FreeBSD. Pachetele din ramurile stabile ale distribuțiilor server conservatoare, cum ar fi Debian, RHEL, Ubuntu și SUSE, nu sunt vulnerabile. Problema nu apare dacă accesul la directoare este interzis în mod explicit prin configurarea „require all denied”.

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster