Kritická zranitelnost v Bash (CVE-2014-6271) !
Závažnost: Kritická
Obtížnost zneužití: Nízká
Náročnost opravy: Nízká
Princip:
Zranitelnost využívá způsobu jakým Bash nakládá s proměnnými prostředí. Bylo zjištěno, že pokud útočník definuje ještě před zavoláním Bash proměnnou prostředí a injektuje do ní speciální posloupnost znaků, dojde ke spuštění kódu definovaného útočníkem. Existuje celá řada způsobů jakým dochází k definici uživatelských proměnných z neznámého zdroje a následné spuštění Bash. Jedním z nejobávanějších vektorů útoku jsou webové aplikace používající CGI, které pracuje na principu přenosu dat do skriptu pomocí proměnných prostředí. Některé proměnné prostředí mohou být snadno ovlivněny útočníkem (např. User-Agent), pokud následně dochází k zavolání Bash z CGI skriptu, může dojít ke spuštění kódu podstrčeného útočníkem.
Výše popsaný je pouze jeden z možných vektorů útoku. Další možné jsou lokální eskalace privilegií, SSH, CUPS a další způsoby. Zranitelnost je velmi mladá a lze očekávat, že se mnoho nyní nepředpokládaných vektorů útoku objeví.
Ovlivněné systémy:
Zranitelné jsou pravděpodobně všechny distribuce založené na Debian a některé další GNU Linux platformy.
Z aplikačního pohledu hrozí riziko při provozu httpd (CGI skripty), SSH, dhclient, CUPS a dalších.
Ověření zranitelnosti:
Pro ověření, zda je konkrétní server postižen touto chybou nebo zda již došlo k opravě je možné provést spuštění následujícího příkazu:
$ env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
Pokud se vypíše hlášení vulnerable, je server zranitelný.
Doporučení:
Většina významných dodavatelů firemních Linux řešení již provedla nezbytná opatření a poskytuje záplatu. Doporučujeme tedy bezodkladně provést update na nejnovější verzi Bash poskytovanou dodavatelem. V případě, že dodavatel neposkytuje opravenou verzi doporučujeme dočasně používat jiný Shell.