Portál AbcLinuxu, 26. dubna 2024 15:36


Race condition v jádře umožňuje získání roota

V jádře byla nalezena chyba umožňující získání rootovských práv. Jde o race condition ve funkcích souvisejících s rourami, kdy může dojít ke spuštění kódu na adrese 0. Stejně jako principem podobná chyba nalezená před několika měsící závisí na hodnotě mmap_min_addr. Například v Ubuntu má tento parametr hodnotu 65535, což exploity znefunkčňuje. Oprava je ve verzi 2.6.32-rc6.

5.11.2009 08:39 | Luboš Doležel (Doli) | 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 (0) ?Zašle upozornění na váš email při vložení nového komentáře. , Tisk

Vložit další komentář

5.11.2009 10:23 Andy | skóre: 18 | NMnMet
Rozbalit Rozbalit vše Re: Race condition v jádře umožňuje získání roota
Odpovědět | Sbalit | Link | Blokovat | Admin
ja mam v gentoo 4096, to spravne nebo spatne?
Válka je vůl ... a já taky ;) | Chaotic state of my influence.
5.11.2009 10:57 Andrej Herceg | skóre: 43
Rozbalit Rozbalit vše Re: Race condition v jádře umožňuje získání roota
Čokoľvek väčšie ako 0 je dobré (ak teda nemáš kernel, v ktorom je chyba, ktorá spôsobuje ignorovanie tej hodnoty; pred nejakým časom sa tu o tom písalo). :)
5.11.2009 10:25 zde | skóre: 9 | blog: Linuch | Brno
Rozbalit Rozbalit vše Re: Race condition v jádře umožňuje získání roota
Odpovědět | Sbalit | Link | Blokovat | Admin
> Například v Ubuntu má tento parametr hodnotu 65535

Nemá, stačí nainstalovat wine a je to 0.
Táto, ty de byl? V práci, já debil.
5.11.2009 12:52 m
Rozbalit Rozbalit vše Re: Race condition v jádře umožňuje získání roota
Wine potřebuje mmap_min_addr=0 pouze pro win16 binárky. Pokud není potřeba žádné takové spouštět, je bezpečnější nastavit si hodnotu v konfiguraci sysctl na > 0. Více na wine wiki.
5.11.2009 13:07 x
Rozbalit Rozbalit vše Re: Race condition v jádře umožňuje získání roota
A ted prosim info kolik uzivatelu tohle udela ;-)
5.11.2009 13:13 Michal Kašpar | skóre: 15
Rozbalit Rozbalit vše Re: Race condition v jádře umožňuje získání roota
No minimálně Debian to i po instalaci Wine nechá na 4096. Takže všichni jeho uživatelé, kteří si to ručně nezměnili.
Bilbo avatar 6.11.2009 03:59 Bilbo | skóre: 29
Rozbalit Rozbalit vše Re: Race condition v jádře umožňuje získání roota
No mam Debian sid (x86_64) a tam je mmap_min_addr nastavene na 65536 - a to jsem s tim rucne nehybal.

A to mam nainstalovane wine (pravda, to wine je neoficialni novejsi unstable balik z lamaresh.net a ne ta verze primo od debianu).
Big brother is not watching you anymore. Big Brother is telling you how to live...
5.11.2009 11:05 x
Rozbalit Rozbalit vše Re: Race condition v jádře umožňuje získání roota
Odpovědět | Sbalit | Link | Blokovat | Admin
Ne vsechny distra to maji (velky problem s tim ma Red Hat) a i ty co to maji, tak staci jen nainstalovat nejakou nekvalitni aplikaci jako Wine a uz je zase problem

http://marc.info/?l=openbsd-misc&m=125729287502801&w=2
5.11.2009 11:16 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Race condition v jádře umožňuje získání roota
Tu poznámku chápu spíš jako návod na jednoduchý workaround do doby, než bude k dispozici update.
5.11.2009 11:39 zde | skóre: 9 | blog: Linuch | Brno
Rozbalit Rozbalit vše Re: Race condition v jádře umožňuje získání roota
> Clever cpu architectures don't have this issue because the virtual address spaces are seperate, so i386/amd64 are the ones with the big impact.

Netuší někdo co se tím myslí? i386/amd64 má virtuální adresní prostory přece taky samostatné (per-process)..
Táto, ty de byl? V práci, já debil.
michich avatar 5.11.2009 12:46 michich | skóre: 51 | blog: ohrivane_parky
Rozbalit Rozbalit vše Re: Race condition v jádře umožňuje získání roota
Proces má svůj paměťový prostor. Jde o to, že když ten proces zavolá službu jádra a začne tak vykonávat kód v jádře, tento virtuální paměťový prostor mu zůstává pořád stejný.
5.11.2009 17:36 zde | skóre: 9 | blog: Linuch | Brno
Rozbalit Rozbalit vše Re: Race condition v jádře umožňuje získání roota
JJ, taky mě to napadlo, chvíli po napsání prvního příspěvku. Ale pořád nevím co je na tom špatného nebo "nemoderního". Díky tomu že jádro používá stejný adresní prostor jako userspace se při syscallu neflushuje TLB, což je myslím ohromná výhoda, ne?

A naříkat nad tím že si userspace nemůže namapovat stránku tak aby ji jádro nevidělo, to mi přijde jako no.. divné. Bezpečnostní díry v trusted komponenntě (jádro) se přece neřeší ojebávkou v untrusted (userspace).
Táto, ty de byl? V práci, já debil.
5.11.2009 13:01 x
Rozbalit Rozbalit vše Re: Race condition v jádře umožňuje získání roota
Tady je neco probirano :

www.openbsd.org/papers/swapencrypt-slides.ps

http://kerneltrap.org/node/5584

5.11.2009 17:19 zde | skóre: 9 | blog: Linuch | Brno
Rozbalit Rozbalit vše Re: Race condition v jádře umožňuje získání roota
Sorry ale proc to posilas? Oba linky jsou neprosto OT.
Táto, ty de byl? V práci, já debil.
michich avatar 5.11.2009 12:40 michich | skóre: 51 | blog: ohrivane_parky
Rozbalit Rozbalit vše Re: Race condition v jádře umožňuje získání roota
Žádný velký problém nevidím. Aktualizovaný Red Hat Enterprise Linux 5 má implicitně nenulovou hodnotu mmap_min_addr. Nulová je implicitně v RHEL 3 a RHEL 4 kvůli zpětné kompatibilitě. K tomuto tématu je správcům určen tento článeček v Red Hat Knowledgebase.
5.11.2009 13:06 x
Rozbalit Rozbalit vše Re: Race condition v jádře umožňuje získání roota
The latest bug is mitigated by default on most Linux distributions, thanks to their correct implementation of the mmap_min_addr feature. But to make RHEL compatible with a larger body of applications, that distribution is vulnerable to attack even when the OS shows the feature is enabled, Spengler said.

dale :

"Since 2.6.23, it has been possible to prevent applications from mapping low pages (to prevent null pointer dereferencing in the kernel) via the /proc/sys/vm/mmap_min_addr sysctl, which sets the minimum address allowed for such mappings."

ale :

Optional prevention is not worth a lot.

dale :

"By default, Ubuntu 8.04 and later with a non-zero /proc/sys/vm/mmap_min_addr setting were not vulnerable."

Ubuntu 8.04 released in 2008 april.

ale :

Ubuntu 8 also ships with a setuid pulseaudio by default, which renders the mmap_min_addr protection useless.

dale :

Fedora 8 was released in Nov 2007 and to run certain Wine applications as non-root you had to disable the vm.mmap_min_addr sysctl. By default it was set to a value of 65536 and you had to change this to 0.

This is well documented all over the Wine forums.

And if you install something like wine, the knob is set back to 0, probably without any notice (at least in ubuntu-8.10). You don't even have to run it, just installing it is enough, if I understand the mechanism correctly.

But more important is the fact that the original kernel sources have the knob set to 0 by default.
michich avatar 5.11.2009 13:31 michich | skóre: 51 | blog: ohrivane_parky
Rozbalit Rozbalit vše Re: Race condition v jádře umožňuje získání roota
But to make RHEL compatible with a larger body of applications, that distribution is vulnerable to attack even when the OS shows the feature is enabled, Spengler said.
Předpokládám, že tahle citace je starší než aktualizace RHSA-2009-1548, která opravila chování mmap_min_addr v RHEL 5.
Shadow avatar 5.11.2009 12:27 Shadow | skóre: 25 | blog: Brainstorm
Rozbalit Rozbalit vše Re: Race condition v jádře umožňuje získání roota
Odpovědět | Sbalit | Link | Blokovat | Admin
Další ďoura jako hrom, super. :-(
If we do not believe in freedom of speech for those we despise we do not believe in it at all.
5.11.2009 13:08 x
Rozbalit Rozbalit vše Re: Race condition v jádře umožňuje získání roota
Uzivatele Linuxu si musi zvyknout. Vyhlasila se svata valka Windows, tak budou letat trisky. A cim dal tim casteji budou ze stejne nekvalitniho lesa :-D
Shadow avatar 5.11.2009 14:33 Shadow | skóre: 25 | blog: Brainstorm
Rozbalit Rozbalit vše Re: Race condition v jádře umožňuje získání roota
Zvykat na co? Jaká svatá válka? Jaké třísky? Jaký les? Nerozumím.
If we do not believe in freedom of speech for those we despise we do not believe in it at all.
5.11.2009 15:38 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Race condition v jádře umožňuje získání roota
5.11.2009 13:49 Ladislav Hagara | skóre: 102 | blog: Ride the Raven
Rozbalit Rozbalit vše masturbating monkeys
Odpovědět | Sbalit | Link | Blokovat | Admin
V gmane.os.openbsd.misc se píše, že v OpenBSD byl tento problém vyřešen v 2008.
Theo de Raadt si neodpustil poupravit výrok Linuse Torwaldse:

I think the OpenBSD crowd is a bunch of masturbating monkeys, in that they make such a big deal about concentrating on security to the point where they pretty much admit that nothing else matters to them.


a napsal:

Linus is too busy thinking about masturabating monkeys, he doesn't have time to care about Linux security.

5.11.2009 14:10 R
Rozbalit Rozbalit vše Re: masturbating monkeys
Na OpenBSD ani wine nejde (a myslim, ze dosbox tiez), takze si neviem predstavit, preco tam vobec takyto problem bol.
5.11.2009 14:11 Andrej Herceg | skóre: 43
Rozbalit Rozbalit vše Re: masturbating monkeys
Nič nebráni distribúciám nastaviť mmap_min_addr na 4096 a, po vzore OpenBSD, vyhlásiť, že problém je vyriešený.
5.11.2009 14:28 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: masturbating monkeys
Což už podle příspěvků z diskuse tak jako tak většina udělala (tedy tu první část).
5.11.2009 16:26 trekker.dk | skóre: 72
Rozbalit Rozbalit vše Re: masturbating monkeys
Hlavně že OpenBSD má všechny bezpečnostní chyby uzavřené...
Quando omni flunkus moritati

Založit nové vláknoNahoru


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