Google našiel kritickú chybu vo všetkých jadrách Linuxu Vyřešeno
Napsal: 14 srp 2009 15:46
Dvojica bezpečnostných expertov Tavis Ormandy a Julien Tienne zo spoločnosti Google identifikovala vážnu bezpečnostnú chybu v linuxovom jadre nachádzajúcu sa v jadrách vydávaných od roku 2001.
Chyba umožňuje bežnému užívateľovi bez root oprávnení spustiť ľubovoľný zvolený kód na úrovni jadra a tým získať kompletnú kontrolu nad jadrom Linuxu a systémom.
Nachádza sa vo funkcii sock_sendpage, ktorá nekontroluje dostupnosť tejto funkcie v implementácii socketov niektorých protokolov ako napríklad Bluetooth, AppleTalk, IPX, IRDA a odovzdá kontrolu kódu na virtuálnej adrese 0, ak implementovaná nie je.
Bežný užívateľ si vo svojom procese môže namapovať na adresu 0 ním zvolený kód, ktorý sa následne spustí v rámci jadra.
Podľa expertov sú zraniteľné zrejme všetky verzia jadra Linuxu vydané od mája 2001 počnúc verziou 2.4.4 až po verziu 2.6.30.4.
Riešením u zraniteľného jadra je pomocou sysctl vm.mmap_min_addr zakázať mapovanie na adresu 0 nastavením vyššieho limitu, až do jadra 2.6.30.2 sú ale podľa Ormandyho a Tienna k dispozícii účinné exploity proti obmedzeniu pomocou vm.mmap_min_addr.
Odvčera je zároveň k dispozícii patch jadra opravujúci túto bezpečnostnú chybu.
Identifikácia chyby:
http://article.gmane.org/gmane.comp.sec ... sure/68951
Patch jadra opravujúci chybu:
http://git.kernel.org/?p=linux/kernel/g ... 45cf0f1b98
Chyba umožňuje bežnému užívateľovi bez root oprávnení spustiť ľubovoľný zvolený kód na úrovni jadra a tým získať kompletnú kontrolu nad jadrom Linuxu a systémom.
Nachádza sa vo funkcii sock_sendpage, ktorá nekontroluje dostupnosť tejto funkcie v implementácii socketov niektorých protokolov ako napríklad Bluetooth, AppleTalk, IPX, IRDA a odovzdá kontrolu kódu na virtuálnej adrese 0, ak implementovaná nie je.
Bežný užívateľ si vo svojom procese môže namapovať na adresu 0 ním zvolený kód, ktorý sa následne spustí v rámci jadra.
Podľa expertov sú zraniteľné zrejme všetky verzia jadra Linuxu vydané od mája 2001 počnúc verziou 2.4.4 až po verziu 2.6.30.4.
Riešením u zraniteľného jadra je pomocou sysctl vm.mmap_min_addr zakázať mapovanie na adresu 0 nastavením vyššieho limitu, až do jadra 2.6.30.2 sú ale podľa Ormandyho a Tienna k dispozícii účinné exploity proti obmedzeniu pomocou vm.mmap_min_addr.
Odvčera je zároveň k dispozícii patch jadra opravujúci túto bezpečnostnú chybu.
Identifikácia chyby:
http://article.gmane.org/gmane.comp.sec ... sure/68951
Patch jadra opravujúci chybu:
http://git.kernel.org/?p=linux/kernel/g ... 45cf0f1b98