V núdzovom režime bolo vydané aktualizovanie http servera Apache 2.4.50, ktorým bola odstránená aktívne zneužívaná 0-day zraniteľnosť (CVE-2021-41773), umožňujúca prístup k súborom z oblastí mimo koreňového adresára webu. Pomocou tejto zraniteľnosti je možné nahrať ľubovoľné systémové súbory a zdrojové kódy webových skriptov, ktoré sú prístupné na čítanie používateľovi, pod ktorým je http server spustený. Vývojári boli o probléme informovaní už 17. septembra, ale dokázali vydanie aktualizácie zrealizovať až dnes, po tom, čo boli zaznamenané prípady zneužívania zraniteľnosti na útoky na weby.
Nebezpečnosť zraniteľnosti zmierňuje skutočnosť, že problém sa vyskytuje iba v nedávno vydanej verzii 2.4.49 a netýka sa všetkých predchádzajúcich verzií. V stabilných vetvách konzervatívnych serverových distribúcií verzia 2.4.49 ešte nebola použitá (Debian, RHEL, Ubuntu, SUSE), ale problém sa dotkol neustále aktualizovaných distribúcií ako Fedora, Arch Linux a Gentoo, ako aj portov FreeBSD.
Zraniteľnosť je spôsobená chybou, ktorá nastala pri úprave kódu na normalizáciu ciest v URI, kvôli ktorej sa zakódovaný symbol bodky pomocou sekvencie „“ v ceste normalizoval, ak mu predchádzala iná bodka. Týmto spôsobom bola možná substitúcia neupravených symbolov „..\/“ do výslednej cesty prostredníctvom určenia sekvencie „.\/“ v požiadavke. Napríklad požiadavka vo forme „https:\/\/example.com\/cgi-bin\/.\/.\/.\/.\/etc\/passwd“ alebo „https:\/\/example.com\/cgi-bin\/.\/..\/..\/..\/etc\/hosts“ umožnila získať obsah súboru „\/etc\/passwd“.
Problém sa neprejavuje, ak je prístup k adresárom výslovne zakázaný prostredníctvom nastavenia „require all denied“. Napríklad pre čiastočnú ochranu je možné uviesť v konfiguračnom súbore: require all denied
Vo verzii Apache httpd 2.4.50 bola tiež odstránená ďalšia zraniteľnosť (CVE-2021-41524), ktorá sa týkala modulu implementujúceho protokol HTTP\/2. Zraniteľnosť umožňovala poslaním špeciálne formátovanej požiadavky iniciovať dereferencovanie null pointera a spôsobiť pád procesu. Táto zraniteľnosť sa tiež prejavuje iba vo verzii 2.4.49. Ako obchádzajúci ochranný mechanizmus je možné vypnúť podporu protokolu HTTP\/2.
Zdroj: opennet.ru
