Kritická zranitelnost v Bash (CVE-2014-6271)
23. 9. 2014
Kritická zranitelnost v Bash (CVE-2014-6271)

Identifikovali jsme aktivní útoky (in-the-wild) zneužívající nově objevené a dnes zveřejněné zranitelnosti v Bash (Bourne again shell), které v některých případech umožňují neautentizovanému útočníkovi vzdálené spuštění kódu injekcí speciálních znaků do proměnné prostředí (Environmental Variable).

 

Zranitelnost umožňuje vzdálené čtení obsahu paměti serveru (tedy klíče k certifikátům, hesla, cookies, cokoli). Zda-li již proběhl útok na server není dohledatelné v logu.

 

Zranitelné systémy

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í AEC

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.

 

Další kroky

Množství informací o této zranitelnosti je v současné době velmi omezené lze však předpokládat, že se v následujících hodinách objeví celá řada nových vektorů útoku zneužívající této chyby.

Experti AEC se aktivně podílí na sběru a vyhodnocení informací o této zranitelnosti a souvisejících útocích.

 

Více podrobností je k dispozici na vyžádání.