Je to tak, bohužel následky i tak vyjímečného problému budou dalekosáhlé. Zrovna jsem dočetl článek o Confickeru. Ten taky využíval díry, pro které dávno existovaly aktualizace, které hodně subjektů prostě nenainstalovalo. Linux je všude a bash je nejčastější shell. Z toho budou problémy na hodně dlouhou dobu.
Tohle ale neni chybou bashe. Urcite neni na miste rici: "Ten bash je fakt vypečenej. Pořád nějakej problém." jenom proto, ze se po letech objevila dira. Tohle je vinou mamlasu, kteri si mysli, ze mohou provozovat server a nemusi ani cist Bugtraq, natoz pak se snizovat ke zbytecnostem, jako je zaplatovani. Kdyz je pro nekoho dulezitejsi, aby mel uptime 5 let, tak holt ma deravy system.
Proc by mel normalni admin cist bugtraq? To je preci ukolem securitaku a nebo developeru. Admini pak delaji nasledne akce.
Ja ocekavam ze oznameni o bugu a aktualizaci se ukaze na webu meho oblibeneho OS,dodavatele reseni a udela se nejdriv plan patchovani. Kdyz mate kopu ruznych operacnich systemu/hw architektur, tak neda se rozhodnout jen tak od stolu i kdyz na vas uz blikaji nove baliky treba od klobouka,big blue nebo sunacle.
Je blbosti progrosu co nikdy neudrzovali infrastrukturu ze si mysli ze admini budou cist kdejake bugy v tech jejich blbych knihovnach a ohrozovat firmu neustalymi aktualizacemi. Aktualizace musi byt alespon zbezne testnuta,schvalena a nainstalovana. Prioritne behem dne ci dvou pro DMZ. Zbytek pro vnitrek.
Mame uptime i 3 roky na zcela oddelenych open systemech a na mainframech jeste dele(tam se vse dela za behu). Je to asi hodne derave, ale nikoho to netrapi. Nevadi to. Cokoliv co se dela i treba prikazy nikdo nezadava primo ale prochazi auditem.
A dhcp je bash? Nehlede na to ze dhcp se po internetu posila dost blbe.
O pruser si koleduje kdokoli, kdo veme neco ze site a preda to bez jakykoli kontroly dal. Bejvaly kdysi casy, kdy se za neosetreny vstup vyhazovalo ... dneska se "moderne a progresivne" proste zavola cosi(input) a ceka se, jestli to vrati vyjimku.
Zaprvé, obojí je již opatchováno, viz http://ftp.gnu.org/gnu/bash/bash-4.3-patches/029 (CVE-2014-6277) a http://ftp.gnu.org/gnu/bash/bash-4.3-patches/bash43-030 (CVE-2014-6278), a zadruhé žádný exploit počínaje patchem 027 nefunguje vzhledem k prefixování exportovaných funkcí.
Tato chyba je nova, protoze stary bash (4.2-0ubuntu3) ktery jsem nelatoval, kod nespusti:
$ HTTP_COOKIE='() { _; } >_[$($())] { echo hi mom; id; }' bash -c :
bash: command substitution: line 0: syntax error near unexpected token `}'
bash: command substitution: line 0: `HTTP_COOKIE () { _; } >_[$($())] { echo hi mom; id; }'
Naopak, bash ktery v zari zaplatovany byl, ale nemel posladni opravu, tak vypise "hi mom" a pak i vystup prikazu id. Stacil ale update a nevypise se nic...
Jen pro jistotu: když na Ubuntu serveru používám unattended-upgrades, předpokládám, že se mi všechny opravy sami nainstalují, je to tak?
Třeba v posledním logu mám:
Unattended upgrade returned: True
Packages that are upgraded: bash
Package installation log:
Připravuji nahrazení bash 4.1-2ubuntu3.4 (pomocí .../bash_4.1-2ubuntu3.5_amd64.deb) ...
Rozbaluji náhradu bash ...
Zpracování spouštěčů pro balík man-db ...
Nastavuji balík bash (4.1-2ubuntu3.5) ...
update-alternatives: používám /usr/share/man/man7/bash-builtins.7.gz pro poskytnutí /usr/share/man/man7/builtins.7.gz (builtins.7.gz), automatický režim.
Allowed origins are: ["['Ubuntu', 'lucid-security']"]
Packages that are upgraded: bash
All upgrades installed