È stato urgentemente rilasciato un aggiornamento per il server HTTP Apache 2.4.50, che risolve una vulnerabilità 0-day già attivamente sfruttata (CVE-2021-41773), consentendo l'accesso ai file al di fuori della directory principale del sito. La vulnerabilità permette di caricare file di sistema arbitrari e testi sorgenti di script web accessibili per l'utente sotto cui è in esecuzione il server HTTP. Gli sviluppatori sono stati avvisati del problema già il 17 settembre, ma sono riusciti a rilasciare l'aggiornamento solo oggi, dopo che sono stati registrati in rete casi di sfruttamento della vulnerabilità per attaccare i siti.
Il rischio legato alla vulnerabilità è mitigato dal fatto che il problema si manifesta solo nella versione recentemente rilasciata 2.4.49 e non riguarda le versioni precedenti. Nelle versioni stabili dei distibutivi server conservativi, la versione 2.4.49 non è stata ancora utilizzata (Debian, RHEL, Ubuntu, SUSE), ma il problema ha colpito distribuzioni costantemente aggiornate, come Fedora, Arch Linux e Gentoo, oltre ai port di FreeBSD.
La vulnerabilità è causata da un errore introdotto durante la revisione del codice per normalizzare i percorsi nell'URI, a causa del quale il carattere punto codificato con la sequenza "" nel percorso non veniva normalizzato se preceduto da un altro punto. Ciò ha reso possibile l'inserimento di caratteri non filtrati "../" nel percorso risultante specificando nel richiesto la sequenza "./". Ad esempio, una richiesta come "https://example.com/cgi-bin/././././etc/passwd" o "https://example.com/cgi-bin/.////etc/hosts" consentiva di accedere al contenuto del file "/etc/passwd".
Il problema non si verifica se l'accesso alle directory è esplicitamente vietato tramite la configurazione «require all denied». Ad esempio, per una protezione parziale, è possibile specificare nel file di configurazione: require all denied
Nella versione Apache httpd 2.4.50 è stata anche risolta un'altra vulnerabilità (CVE-2021-41524) che interessa il modulo di implementazione del protocollo HTTP/2. La vulnerabilità consentiva, attraverso l'invio di una richiesta appositamente formattata, di innescare un dereferenziamento di un puntatore nullo e causare il crash del processo. Questa vulnerabilità si manifesta anche solo nella versione 2.4.49. Come soluzione alternativa, è possibile disattivare il supporto per il protocollo HTTP/2.
Fonte: opennet.ru
