Kritická zraniteľnost v Bash (CVE-2014-6271)
23. 9. 2014
Kritická zraniteľnost v Bash (CVE-2014-6271)

Identifikovali sme aktívne útoky (in-the-wild) zneužívajúce novoobjavené a dnes zverejnené zraniteľnosti v Bash (Bourne again shell), ktoré v niektorých prípadoch umožňujú neautentizovanému útočníkovi vzdialené spustenie kódu injekcií špeciálnych znakov do premennej prostredia (Environmental Variable).

 

Zraniteľnosť umožňuje vzdialené čítanie obsahu pamäte serveru (teda kľúče k certifikátom, heslá, cookies, čokoľvek). Či už prebehol útok na server pritom nie je dohľadateľné v logu.

 

Zraniteľné systémy

Závažnosť: Kritická
Obtiažnosť zneužitia: Nízka
Náročnosť opravy: Nízka

 

Princíp

Zraniteľnosť využíva spôsob, akým Bash nakladá s premennými prostredia. Bolo zistené, že ak útočník definuje ešte pred zavolaním Bash premennú prostredia a injektuje do nej špeciálnu postupnosť znakov, dôjde k spusteniu kódu definovaného útočníkom. Existuje celý rad spôsobov, akým dochádza k definícii používateľských premenných z neznámeho zdroja a následne spusteniu Bash. Jedným z najobávanejších vektorov útoku sú webové aplikácie používajúce CGI, ktoré pracuje na princípe prenosu dát do skriptov pomocou premenných prostredia. Niektoré premenné prostredia môžu byť jednoducho ovplyvnené útočníkom (napr. User-Agent), ak nasledovne dochádza k zavolaniu Bash z CGI skriptu, môže dôjsť k spusteniu kódu podstrčeného útočníkom.

Vyššie je popísaný iba jeden z možných vektorov útoku. Ďalšie možnosti predstavujú lokálne eskalácie privilégií, SSH, CUPS a ďalšie spôsoby. Zranitelnosť je veľmi mladá a dá sa očakávať, že sa objaví mnoho momentálne nepredpokladaných vektorov útoku.

 

Ovplyvnené systémy

Zraniteľné sú pravdepodobne všetky distribúcie založené na Debian a niektoré ďalšie GNU Linux platformy.

Z aplikačného pohľadu hrozí riziko pri prevádzke httpd (CGI skripty), SSH, dhclient, CUPS a ďalších.

 

Overenie zraniteľnosti

Pre overenie, či je konkrétny server postihnutý touto chybou, alebo či už došlo k oprave, je možné uskutočniť spustenie nasledujúceho príkazu:
    $ env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
Ak sa vypíše hlásenie vulnerable, je server zraniteľný.

 

Odporúčanie AEC

Väčšina významných dodávateľov firemných Linux riešení už vykonala potrebné opatrenia a poskytuje záplatu.

Odporúčame preto bezodkladne uskutočniť update na najnovšiu verziu Bash poskytovanú dodávateľom. V prípade, že dodávateľ neposkytuje opravenú verziu, odporúčame dočasne používať iný Shell.

 

Ďalšie kroky

Množstvo informácií o tejto zraniteľnosti je v súčasnej dobe veľmi obmedzené, dá sa však predpokladať, že sa v nasledujúcich hodinách objaví celý rad nových vektorov útoku zneužívajúcich túto chybu.

Experti AEC sa aktívne podieľajú na zbere a vyhodnotení informácií o tejto zraniteľnosti a súvisiacichh útokoch.

 

Viac podrobností je k dispozícii na vyžiadanie.