» »

Linux jedro z resno varnostno luknjo

Linux jedro z resno varnostno luknjo

Debian - V zadnjih dneh se je izkazalo, da so Linux jedra od verzije 2.6.17 do verzije 2.6.24.1 (ta verzija je že popravljena) lokalno ranljiva. Tako napaka lokalnim uporabnikom omogoča, da pridobijo administratorske pravice.



Popravki vas že čakajo pri vašem naljubšem dobavitelju paketkov.

48 komentarjev

Spc ::

Če že druga ne je vsaj local ... in ne remote.
 

zee ::

eh shit...pa ravno sem (po skoraj letu dni) nadgradil jedro, ga bo zgleda treba znova :(

ja, lenoba je huda bolezen...tudi v računalništvu.
zee
Linux: Be Root, Windows: Re Boot
Giant Amazon and Google Compute Cloud in the Sky.

Brane2 ::

Par ur po objavi že laufam tanov kernel.

Gentoo ima kar dobro odzivnost za "mrliča".... :D
On the journey of life, I chose the psycho path.

DubleG ::

Windows is unprotected sex. Linux is using a condom, the pill, a vasectomy, and the Berlin wall.

HMMM, mogoče :)

RejZoR ::

Right, taka je tud izkušnja kot če bi dobil sex s kondomom, uspavalno tableto ter žensko na drugi strani berlinskega zidu :P
Angry Sheep Blog @ www.rejzor.com

Roadkill ::

>> Phew, lucky I run MS Windows then !!

>> >> I know what you mean. It's nice not having to freak out periodically like this since you live in a constant state of panic anyway.

:)
Ü

MrStein ::

Je kje uradni advisory ?
Motiti se je človeško.
Motiti se pogosto je neumno.
Vztrajati pri zmoti je... oh, pozdravljen!

fiction ::

https://bugs.gentoo.org/show_bug.cgi?id...

Jens Axboe je v Linux kernel 2.6.17 dodal najprej splice in tee kasneje pa se vmsplice sistemski klic.
Fora vsega tega kolikor to stekam je, da ne bi bilo vec toliko nepotrebnih kopiranj iz
uporabniskega naslovnega prostora v jederni naslovni prostor ter obratno.

Ti lahko s splice nafilas nek buffer v kernelu. Potem ni treba da se drugemu procesu te podatki spet skopirajo
v njegov user-space buffer, ampak lahko uporablja proces kar ta pomnilnik v jedru.

Ampak problem z vmsplice je ocitno, da ne preverja kazalca, ki mu ga je podal uporabnik.

jimmi ::

Pri meni dela! Bom lahko uporabljal namesto su.

hamax ::

win xp ima precej podoben exploit.

odpres konzolo s casovnim zamikom in dobis system konzolo z vsemi pravicami.
(mogoce so ze odpral. nisem tega probaval ze lep cajt)

Vlady ::

@RejZoR

Podpis!!!
"Lotereya - naibolee točnyj sposob učeta količestva optimistov"

4DFX ::

Popravek: klik

jype ::

Zajebana, tale odprtokodna mašinerija, da tkole kr v sourcu servira popravek. Kje je pa QA? :)

MrStein ::

Saj piše, kdo vse je preveril ;)
Motiti se je človeško.
Motiti se pogosto je neumno.
Vztrajati pri zmoti je... oh, pozdravljen!

In Extremis ::

@hamax

Ni ravno tako. Če hočeš uporabiti at.exe, na kar ti namiguješ, moraš imeti Admin privilegije. Je pa res, da si s tem lahko eskaliraš privilegije v NT Authority\SYSTEM račun.

Zgodovina sprememb…

DaSLayer ::

@Brane2
Gentoo že od verzije 2.6.20-r4 ne podpira exporta knjižnice asm/page.h, ki je med drugim uporabljena v exploitu ( Vir). Če pa (še) nisi root pa ne moreš exportat.

Drugače pa je avtor očitno pozabil omenit, da to po njegovem viru sodeč velja samo za Debian. Posledično pa verjetno tudi za Ubuntu.

LP

OmegaBlue ::

FYI - debian etch repozitoriji so danes zjutraj fasali popravek.
Never attribute to malice that which can be adequately explained by stupidity.

Zgodovina sprememb…

In Extremis ::

@DaSlayer

Obstaja tudi različica exploita, ki ne uporablja asm/page.h...

KLIK

Zgodovina sprememb…

fiction ::

> Gentoo že od verzije 2.6.20-r4 ne podpira exporta knjižnice asm/page.h, ki je med drugim uporabljena v exploitu
> (Vir). Če pa (še) nisi root pa ne moreš exportat.

Kaj tocno pomeni "ne podpira exporta knjiznice"?
Gre za en header file in vse kar je zanimivo tam je PAGE_SIZE define (ki pomeni velikost strani
v navideznem pomnilniku). Ta je ponavadi mnogokratnik od 512 (ker je tako velik sektor na disku).
Pri meni sem dobil vrednost 4096. Ne vem zakaj bi to kakorkoli skrival (security-through-obscurity?).

Problem je v Linux kernelu in se torej tice vseh distribucij. Ne vem zakaj vsak nekaj po svoje cara
glede popravlljanja.

'FireSTORM' ::

Drugače pa je avtor očitno pozabil omenit, da to po njegovem viru sodeč velja samo za Debian. Posledično pa verjetno tudi za Ubuntu.


Ni res.
Probal na Vanilla kernel 2.6.21.5, exploit deluje. Pravtako na Vanilla 2.6.23.1 in exploit pravtako deluje.
Those penguins.... They sure aint normal....

Loki ::

Windows is unprotected sex. Linux is using a condom, the pill, a vasectomy, and the Berlin wall.

HMMM, mogoče :)


ce si ti (admin) nesposoben, sta oba enako dovzetna za SPB. :D
I left my wallet in El Segundo

Zgodovina sprememb…

  • spremenil: Loki ()

DubleG ::

Mala verjetnost je da sva oba prenašalca :)) :))

c3p0 ::

Tudi na vanilla + grsecurity ni nobenih problemov dobiti roota.

fiction ::

Itak da je grsecurity tudi ranljiv.
Ta popravek namrec ne varuje pred pomankljivostimi v samem jedru tako kot nekateri mislijo.

'FireSTORM' ::

Tudi na vanilla + grsecurity ni nobenih problemov dobiti roota.

Saj ne pravim da je problem, samo ker so se pač začele pojavljati opazke da je to kao samo na Debian in Debian Based distribucijah in sem povedal da to ni res, da sem sprobal na dve različnih vanilla kernelih in da exploit deluje normalno.
Pač ena luknjica ki jo je treba pokrpat, ampak če imaš userje na sistemu katerim zaupaš potem ni problema ;)
Those penguins.... They sure aint normal....

fiction ::

A ni dovolj logicno, da ce reces "jedro ima ranljivost", mislis s tem da
je problem v katerikoli distribuciji GNU/Linuxa?

Ce bi rekel Debianov popravek za jedro ima napako, bi bil s tem misljen samo Debian
(in mogoce tudi distribucije ki temeljijo na Debianu).

Zanimivo je, da je po objavi ranljivosti vsaka distribucija po svoje resevala napako
in dodala nek popravek med svoje patche za kernel.
A ne bi samo svojih patchev portali na 2.6.24.1 (saj ni tako hudih sprememb) ali pa uporabili nek
standarden popravek za ta bug s strani kernel developerjev?
Kaj sploh razne distribucije sarijo po kernelu?

'FireSTORM' ::

Moj patch je linux-2.6.24.2 in to je to...
Those penguins.... They sure aint normal....

Poldi112 ::

Pa, misem natančno spremljal, ampak glede na to da ti tudi kernel priskrbi distribucija je logično, da oni dodajo popravek v svoj sistem.
Where all think alike, no one thinks very much.
Walter Lippmann, leta 1922, o predpogoju za demokracijo.

'FireSTORM' ::

Saj je nekdo dal patch na prvi strani ki ga lahko sam namestiš ročno...:\
Those penguins.... They sure aint normal....

noraguta ::

Pač ena luknjica ki jo je treba pokrpat, ampak če imaš userje na sistemu katerim zaupaš potem ni problema ;)


na žalost ja zaupanje beseda katera v danem kontekstu nima kaj iskati.
Pust' ot pobyedy k pobyedye vyedyot!

'FireSTORM' ::

Jaz imam kar nekaj userjev na svojem sistemu in še nisem ne patchal ali upgrejdal kernela in ga do vikenda niti ne mislim, čeprav je 2.6.24.2 že skompajlan, ni pa še nameščen in ni še v uporabi. In svojim uporabnikom zaupam...če jim nebi, jih nebi bilo na mojem sistemu. In ja, so umes tudi taki userji ki ta exploit že poznajo in bi ga znali uporabit, ampak ker jim zaupam vem da se to ne bo zgodilo.

Ne vem zakaj zaupanje naj nebi imelo tukaj kaj iskat. Ko kdo izkoristi moje zaupanje pač leti iz serverja in nima niti malo možnosti da pride kdaj nazaj.
Those penguins.... They sure aint normal....

R33D3M33R ::

Hm, danes so se pojavile posodobitve za Ubuntu in sicer za 2.6.22-14 kernel, ki ga uporabljam.
Moja domača stran: http://andrej.mernik.eu
Na spletu že od junija 2002 ;)
:(){ :|:& };:

Daedalus ::

Pač ena luknjica ki jo je treba pokrpat, ampak če imaš userje na sistemu katerim zaupaš potem ni problema ;)

Uporabnikom zaupajo samo lousy sysadmini. Vsi ostali - niti pod razno.
Man is condemned to be free; because once thrown into the world,
he is responsible for everything he does.
[J.P.Sartre]

MrStein ::

Danes so na voljo zakrpe za dve remote critical luknji v Windows, pa ni bilo novice ... ;)
Motiti se je človeško.
Motiti se pogosto je neumno.
Vztrajati pri zmoti je... oh, pozdravljen!

'FireSTORM' ::

Uporabnikom zaupajo samo lousy sysadmini. Vsi ostali - niti pod razno.


Odvisno kake uporabnike imaš. Oz. kak strežnik. Če je public(user lahko postane vsak, brezplačno ali z plačilom) ali private(user postane samo zato ker imaš ti nek namen od tega).
In ja, jaz svojim uporabnikom zaupam, ker nimam kar nekoga na strežniku, ampak imam same take ljudi ki mi pri tem ali drugem pomagajo.
Če sem zaradi tega lousy admin, potem bo treba besedo lousy redefinirat...
Those penguins.... They sure aint normal....

fiction ::

Lepo da svojim uporabnikom zaupas.
Ampak vseeno pomoje to ni najbolje kar se tice varnosti.
Dovolj paranoicni ljudje se sami sebi ne zaupamo. :)
Ce te nekdo sheka in namesti na sistem rootkit je zelo majhna
verjetnost da bos to kadarkoli odkril oz. izvedel kdo je bil zlobnez.
Da ne govorimo o tem, da mogoce obstaja kaksna druga ranljivost
(recimo ze nespametno napisana PHP skripta), ki napadalcu omogoca dostop
do nekega lokalnega uporabniskega racuna.

Najboljsa resitev bi bila, da bi do upgrada (ki res ne mora biti vedno
takojsen) nekako onemogocil vmsplice sistemski klic.
Navsezdanje ga skoraj noben program se ne uporablja.

Ker uporabniski programi vedno komunicirajo z jedrom preko sistemskih klicev, je
v 90% kriticnih ranljivosti Linux jedra pomoje krivo slabo preverjanje vhodnih parametrov.
V primeru vmsplice ter ptrace bi bilo pomoje najlazje, ce bi napisal
nek kernel module, ki bi popatchal tabelo sistemskih klicev in jih preusmeril
na funkcijo implementirano v modulu, ki bi vedno vracala EPERM in po moznosti
vse skupaj se logirala.

Problem je, ce se pojavi napaka v kaksnem bolj pogosto uporabljenem sistemskem klicu
(open recimo). Takrat bi naredil enako kot prej, le da bi preusmeril klic v nek wrapper, ki bi preverjal
po svoje parametre in potem poklical dejanski handler oz. logiral napako ter vrnil EPERM.

S tem, bi lahko v runtime-u zaflikal luknjo do takrat ko pride cas za naslednjo posodobitev
sistema oz. tiste klice, ki jih tvoji programi itak ne uporabljajo ze v naprej onemogocil
(tako kot se trudis tudi cimbolj zmanjsati stevilo drugih nepotrebnih servisov).

Daedalus ::

Če sem zaradi tega lousy admin, potem bo treba besedo lousy redefinirat...

Mah, to je stvar odnosa. Če se v izhodišču lotiš zadev malo po svoje, te lahko to tepe pol, ko nekje delaš z večjim številom uporabnikov, ki jim ne smeš zaupat. Se hitro zgodi kaka nenamerna napaka, ki je mogoče niti opaziš ne. Osebno mam rajši bolj restriktiven pristop, pa manj problemov zarad tega. Uporabnikom pač rajši ne zaupam. Je pa res, da vzdržujem "javne" sisteme, ne pa serverja za lastno rabo.
Man is condemned to be free; because once thrown into the world,
he is responsible for everything he does.
[J.P.Sartre]

'FireSTORM' ::

Daedalus saj to ravno pravim da nimam shell accounting kjer bi vsak bizgec ki bi mi plačal lahko dobil dostop do strežnika...
Server uporabljam za namene svojega projekta in moji userji so tisti kateri mi z projektom kakorkoli pomagajo, ok pa tudi nekaj kolegov ki jih poznam osebno in vem da mi kaj takega ne bi storili da bi mi rootali server.

Na javnem strežniku pa seveda to ni tak in se tega zavedam da ne moreš zaupat vsakemu...
Those penguins.... They sure aint normal....

BigWhale ::

Jaz s tem nimam problemov. Mam samo root uporabnika! ;>

CoolBits ::

Danes so na voljo zakrpe za dve remote critical luknji v Windows, pa ni bilo novice ...

Ker to ni nič nenavadnega in ni vredno novice... :D

Zgodovina sprememb…

  • spremenilo: CoolBits ()

In Extremis ::

Se strinjam, validacija user-land parametrov namenjenih v ring 0 je bistvo problema. Syscall hooking oz. kernel patching je ena možna rešitev, druge so npr. razširitev callgate funkcionalnosti, uvedba ring 1, itd. Nič od tega verjetno ne bo realizirano.

Manj kakor 24-ur po izdaji novega kernela: NULL ptr deref

Zgodovina sprememb…

noraguta ::

želje , zaupanje etc. za resnega admina pač odpadejo , razen če si želi dodatnega dela.
FireSTORM-u lahko pritrjeujem pri tem da vsake varnostne luknje ni potrebno patchati dnevno. nikakor pa ne ,da je razlog zato zaupanje uporabniku. celotnega pipeline-a programov in os-a.
Pust' ot pobyedy k pobyedye vyedyot!

'FireSTORM' ::

Nikakor moje "ne-takojšnje patchanje" ne temelji samo na mojem zaupanju uporabnikov, ampak še na nekaterih drugih razlogih. Prvi je to da sem fizično oddaljen od strežnika in trenutno ne morem do njega, rebootat ne morem ker sem cepec odklopil tipkovnico in mi BIOS ustavi boot če ne najde tipkovnice(press f1 to continue). Vem ja...stupid me.

In ne bom se ponavljal kot pokvarjena plošča na čem temelji moje zaupanje svojim uporabnikom. Da se pa spet ne zapičiš v tole, to je PRIVATNI strežnik in ne JAVNI strežnik kjer ima lahko vsak mulc dostop.
Those penguins.... They sure aint normal....

Daedalus ::

Stupid je to, da ti taka malenkost, kot je odsotnost tipkovnice, prepreči boot:P
Man is condemned to be free; because once thrown into the world,
he is responsible for everything he does.
[J.P.Sartre]

noraguta ::

FireSTORM dobro pustimo sedaj ob strani zaupanja vredne sisteme v kateirh bi celo win95 lahko sluzil kot povsem utrezen sistem. to je lepo in prav za kakšne osnovnošolske projekte ampak tu govorimo onečem drugem. očino ne zapopadež , kje leži problem.
Pust' ot pobyedy k pobyedye vyedyot!

Poldi112 ::

Ne vem o čem drugem tu govorimo. Jaz tudi še na nobenem workstation-u nisem naredil nič glede le luknje. Pač, oceniš da ni kritična in jo pustiš do naslednjega update-a. Ne vem kaj se vsi tu zgražate. A ob vsakem security warningu letite patchat sisteme? A potem sploh lahko delate še kaj drugega?
Where all think alike, no one thinks very much.
Walter Lippmann, leta 1922, o predpogoju za demokracijo.

jype ::

Poldi112> A ob vsakem security warningu letite patchat sisteme?

Ne, ker očitno exploit dela samo na 2.6.23 jedrih :)

Sicer pa ja - vedno pregledam, kateri so dovzetni za zlorabo in kakšen rizik to predstavlja. Pa je nekje še vedno redhat 9 mašina, ki prima služi in vanjo še ni nihče vdiral, razen če je po štromkablu.

'FireSTORM' ::

jype...nah... 2.6.21.5 dela tudi :P

Stupid je to, da ti taka malenkost, kot je odsotnost tipkovnice, prepreči boot:P

Ja vem, v biosu nimam nastavljeno da naj kar naprej boota, ali pa mam pa sem pozabil da imam, definitivno pa ne upam probat na tak način. :P

noraguta: win95 malo težko, sploh kaki koli win malo težko, ja tudi server 2008 ne...in tudi ni nikakršen osnovnošolski projekt...sicer pa, nevem zakaj ti to razlagam ker je to itak kot če bi hotel odpreti kokos z kuhinjsko gobo.
Those penguins.... They sure aint normal....


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

AngularJS 2.0 ali 1.x

Oddelek: Izdelava spletišč
92043 (1341) dasf
»

GHOST - resna ranljivost v glibc

Oddelek: Novice / Varnost
257367 (4494) jype
»

Joomla - pomoč

Oddelek: Izdelava spletišč
81080 (842) atlet
»

Izšlo jedro Linux 2.6.0!

Oddelek: Novice / Ostala programska oprema
162570 (2570) Road Runner
»

P2P telefoniranje po Internet

Oddelek: Omrežja in internet
151463 (1094) ferjan

Več podobnih tem