Un'altra vulnerabilità in Apache httpd che consente di accedere oltre la directory principale del sito

È stato scoperto un nuovo vettore d'attacco per il server HTTP Apache, che è rimasto non corretto nell'aggiornamento 2.4.50 e consente l'accesso ai file da aree al di fuori della radice del sito. Inoltre, i ricercatori hanno trovato un modo che, in presenza di alcune configurazioni non standard, non solo permette di leggere i file di sistema, ma anche di eseguire il proprio codice in remoto sul server. La problematica si manifesta solo nelle versioni 2.4.49 e 2.4.50; versioni precedenti non sono vulnerabili. Per affrontare questa nuova variante di vulnerabilità, è stata rapidamente rilasciata la versione Apache httpd 2.4.51.

La nuova problematica (CVE-2021-42013) è sostanzialmente analoga alla vulnerabilità originale (CVE-2021-41773) presente in 2.4.49; l'unica differenza sta in una diversa codifica dei simboli «..». In particolare, nell'uscita 2.4.50 è stata bloccata la possibilità di utilizzare la sequenza «» per codificare il punto, ma è stata trascurata la possibilità di codifica doppia — specificando la sequenza «%» un server che la decodifica in «», e poi in «.», ovvero i simboli «../» per tornare alla cartella precedente potevano essere codificati come «.%/».

Per quanto riguarda lo sfruttamento delle vulnerabilità tramite l'esecuzione di codice, ciò è possibile attivando mod_cgi e utilizzando un percorso di base in cui è consentita l'esecuzione di script CGI (ad esempio, se è attivata la direttiva ScriptAlias o se è impostato il flag ExecCGI nella direttiva Options). Un requisito fondamentale per il successo di un attacco è anche la concessione esplicita nelle impostazioni di Apache dell'accesso alle directory con file eseguibili, come /bin, o l'accesso alla root del filesystem “/”. Poiché di solito tale accesso non viene concesso, l'attacco tramite esecuzione di codice è poco applicabile ai sistemi reali.

Rimane attuale invece l'attacco volto a ottenere il contenuto di file di sistema casuali e sorgenti di web script accessibili in lettura dall'utente con cui è in esecuzione il server http. Per eseguire tale attacco è sufficiente avere sul sito una directory impostata tramite le direttive "Alias" o "ScriptAlias" (DocumentRoot non è sufficiente), come ad esempio "cgi-bin".

Esempio di exploit che permette di eseguire l'utilità "id" su 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)

Esempi di exploit che permettono di visualizzare il contenuto di /etc/passwd e uno degli script web (per restituire il codice degli script, deve essere specificato un catalogo tramite la direttiva 'Alias', per il quale non è abilitata l'esecuzione degli script): curl 'http://192.168.0.1/cgi-bin/.%/.%/.%/.%/.%/etc/passwd' curl 'http://192.168.0.1/aliaseddir/.%/.%/.%/.%/.%/usr/local/apache2/cgi-bin/test.cgi'

Il problema colpisce principalmente le distribuzioni in continuo aggiornamento, come Fedora, Arch Linux e Gentoo, così come i port di FreeBSD. I pacchetti nelle branche stabili di distribuzioni server conservative come Debian, RHEL, Ubuntu e SUSE non sono vulnerabili. Il problema non si manifesta se l'accesso alle directory è esplicitamente vietato tramite la configurazione 'require all denied'.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster