È 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.
Уязвимость вызвана ошибкой, внесённой в ходе переработки кода для нормализации путей в URI, из-за которой закодированный при помощи последовательности «%2e» символ точки в пути не нормализировался, если ему предшествовала другая точка. Таким образом, оказалась возможной подстановка неочищенных символов «../» в результирующий путь через указание в запросе последовательности «.%2e/». Например, запрос вида «https://example.com/cgi-bin/.%2e/.%2e/.%2e/.%2e/etc/passwd» или «https://example.com/cgi-bin/.%2e/%2e%2e/%2e%2e/%2e%2e/etc/hosts» позволял получить содержимое файла «/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
