» »

Resna ranljivost v GNU C knjižnici

Resna ranljivost v GNU C knjižnici

Ars Technica - Po poročanju Ars Technice so raziskovalci Googla in Red Hata odkrili, da je mogoče z ustrezno oblikovanim DNS odzivom na poizvedbo, sproženo s funkcijo getaddrinfo(), prepisati kos pomnilnika nad skladom, kar pomeni, da napadalec lahko doseže, da napadeni računalnik izvede napadalčeve ukaze v varnostnem kontekstu, kjer se trenutno nahaja.

Napaka je kritična predvsem zaradi razširjenosti. Odkar je GNU C knjižnica postala del ogromne količine delujočih naprav, od Linux strežnikov preko (nekaterih redkih - Android in iOS oba uporabljata drugo različico C knjižnice) mobilnih telefonov pa vse do pametnih televizorjev in hladilnikov, bo krpanje napake vzelo ogromno časa, znaten delež (predvsem starejših) naprav pa zakrpanja zelo verjetno sploh ne bo dočakal. Napaka je prisotna v različicah knjižnice od 2.9 naprej, ta pa je bila objavljena avgusta 2008. Pri tem je pomembno razumeti, da so ranljivi vsi programi, ki se zanašajo na omenjeno knjižnico za razreševanje imen, pa tudi da so programi, ki se ne, izjemno redki. Varnostna luknja je torej prisotna v praktično vseh sodobnih programih, predvsem na Linuxu, pa tudi na nekaterih (bistveno redkejših) drugih sistemih, ki knjižnico uporabljajo.

Velika večina Linux distribucij (danes izpod čela gledam le še Centos) je popravke že objavila in mnogi so jih že namestili v preteklem dnevu, bolj zapleteni postopki nadgradnje pri bolj specializiranih napravah (kjer je glibc knjižnica zaradi svoje velikosti k sreči redkeje uporabljana) pa bodo bržkone vzeli nekaj mesecev, v nekaterih primerih zagotovo tudi več.

Namestitev popravka za večino uporabnikov osebnih računalnikov in upravljavcev strežnikov k sreči ni prav nič zapletena, je pa nemara čas, da če ne uporabljate avtomatizirane nadgradnje in je še niste sprožili ročno, to storite čimprej.

DNS is indeed the . of all evil.

33 komentarjev

Jst ::

Moja avtorska commons knjičnica uporablja dele iz omenjene novice. Že od včeraj gledam kje vse bo treba popravljati...
Islam is not about "I'm right, you're wrong," but "I'm right, you're dead!"
-Wole Soyinka, Literature Nobelist
|-|-|-|-|Proton decay is a tax on existence.|-|-|-|-|

Verni ::

FOSS je luknjast kot švicarski sir :8)

usoban ::

Sej vse ostalo tudi, samo da ne mores vedet :D

WhiteAngel ::

Če prav luknjo razumem, mora biti DNS strežnik tisti, ki mora vrniti pokvarjen odgovor in naredi stack overflow. Tako da ranljivost sigurno je, ampak ni pa ravno kritična. Nekje na nivoju lokalnega privilege escalationa.

SeMiNeSanja ::

Sam kdo hudiča mi bo patchal hladilnik? pralni stroj? .....?
Ok. jaz bom že...kaj pa soseda penzionista?

Toti IoT bo postal še pravo minsko polje.

SeMiNeSanja ::

WhiteAngel je izjavil:

Če prav luknjo razumem, mora biti DNS strežnik tisti, ki mora vrniti pokvarjen odgovor in naredi stack overflow. Tako da ranljivost sigurno je, ampak ni pa ravno kritična. Nekje na nivoju lokalnega privilege escalationa.

DNS ni lokalna stvar. Vsakdo ima lahko primarni DNS server za neko zakupljeno domeno pri sebi in ti postreže z bilokakšnim odgovorom.
Potem pa imaš še DNS hijacking, kjer ti tudi lahko nepridipravi kaj podtaknejo.

Skratka nebi zadeva podcenjeval kot lokalno, sploh ker ne veš, kakšen payload ti lahko podtaknejo v tisti buffer overflow.

Če imaš možnost, je najbolje omejiti velikost DNS responsev na max. 512 byte na UDP in 1024 byte TCP (standardne velikosti). Da bi se zadevo uspešno zlorabila, baje mora biti response velik 2048 byte-ov...

phantom ::

SeMiNeSanja je izjavil:

Sam kdo hudiča mi bo patchal hladilnik? pralni stroj? .....?
Ok. jaz bom že...kaj pa soseda penzionista?

Toti IoT bo postal še pravo minsko polje.

Ne skrbi, embedded sistemi zelo redko uporabljajo glibc, ker je preveč bloated in ne rabiš vse funkcionalnosti in 100% združljivosti s standardi. Ponavadi se uporablja uClibc ali musl libc. Ali bionic, če Android gor laufa.
~
~
:wq

WhiteAngel ::

phantom je izjavil:

SeMiNeSanja je izjavil:

Sam kdo hudiča mi bo patchal hladilnik? pralni stroj? .....?
Ok. jaz bom že...kaj pa soseda penzionista?

Toti IoT bo postal še pravo minsko polje.

Ne skrbi, embedded sistemi zelo redko uporabljajo glibc, ker je preveč bloated in ne rabiš vse funkcionalnosti in 100% združljivosti s standardi. Ponavadi se uporablja uClibc ali musl libc. Ali bionic, če Android gor laufa.


Tako je. Za IoT naprave je itak vedno up. ime: admin in geslo: 12345 :D

win64 ::

phantom je izjavil:

SeMiNeSanja je izjavil:

Sam kdo hudiča mi bo patchal hladilnik? pralni stroj? .....?
Ok. jaz bom že...kaj pa soseda penzionista?

Toti IoT bo postal še pravo minsko polje.

Ne skrbi, embedded sistemi zelo redko uporabljajo glibc, ker je preveč bloated in ne rabiš vse funkcionalnosti in 100% združljivosti s standardi. Ponavadi se uporablja uClibc ali musl libc. Ali bionic, če Android gor laufa.

Čakaj, hočeš reči da je glibc večji od Androida?

googleg1 ::

Google je napisal svoj libc, ki ga imenuje bionic. Samo zato ker lahko.

win64 ::

googleg1 je izjavil:

Google je napisal svoj libc, ki ga imenuje bionic. Samo zato ker lahko.

V redu potem, vendar še zmeraj nevem kaj je phantom mislil s tem. Glede na to, da je omenjal uporabo v okoljih, kje je velikost knjižnice problem.

3p ::

win64 je izjavil:

googleg1 je izjavil:

Google je napisal svoj libc, ki ga imenuje bionic. Samo zato ker lahko.

V redu potem, vendar še zmeraj nevem kaj je phantom mislil s tem. Glede na to, da je omenjal uporabo v okoljih, kje je velikost knjižnice problem.


Po mojem le to, da je gnu libc večji od bionica.

Zgodovina sprememb…

  • spremenilo: 3p ()

Rias Gremory ::

Verni je izjavil:

FOSS je luknjast kot švicarski sir :8)

Še dobro, da na Oknih vse dela.
/s
Mirno gledamo, kako naš svet propada,
saj za časa našega življenja ne bo popolnoma propadel.

Verni ::

Rias Gremory je izjavil:

Verni je izjavil:

FOSS je luknjast kot švicarski sir :8)

Še dobro, da na Oknih vse dela.
/s

Saj glibc deluje tudi na Windows. FOSS ni omejen na Linux. In posledično so luknje tudi v Winsih.

filipk ::

Rias Gremory je izjavil:

Verni je izjavil:

FOSS je luknjast kot švicarski sir :8)

Še dobro, da na Oknih vse dela.
/s

Ja, tam pa res ni nobenih hroščev >:D.

Sam dodal bi, da sem danes zaradi kakih 20 posodobitev 3x moral ponovno zagnati službeno sedmico.
Kakšen užitek je čakati trdi disk, da se to zgodi. Eh, saj so bili samo varnostni popravki, a gotovo ni bilo nič kritičnega.
Vsaj piše nikjer nič o tem, zato bo gotovo tako.
/s

phantom ::

3p je izjavil:

win64 je izjavil:

googleg1 je izjavil:

Google je napisal svoj libc, ki ga imenuje bionic. Samo zato ker lahko.

V redu potem, vendar še zmeraj nevem kaj je phantom mislil s tem. Glede na to, da je omenjal uporabo v okoljih, kje je velikost knjižnice problem.


Po mojem le to, da je gnu libc večji od bionica.

Ja, to sem mislil. Sicer pa Google ni na novo napisal bionica, ampak je to zgolj oskubljen in prilagojen libc od FreeBSD.
~
~
:wq

A. Smith ::

A majo dd-wrt firmveri za routerje tud to not? -> naj bi temeljili na linuxu?

Sprašujem kot laik, da me ne boste za krvatlc držal.
"Be professional, be polite,
but have a plan to kill everyone you meet".
- General James Mattis

Zgodovina sprememb…

  • spremenil: A. Smith ()

phantom ::

A. Smith je izjavil:

A majo dd-wrt firmveri za routerje tud to not? -> naj bi temeljili na linuxu?

Sprašujem kot laik, da me ne boste za krvatlc držal.

Izgleda, da uporabljajo uClibc: http://www.dd-wrt.com/wiki/index.php/Ip...
~
~
:wq

A. Smith ::

errr...

uClibc = C library optimized for embedded systems. Free: GNU LGPL.
"Be professional, be polite,
but have a plan to kill everyone you meet".
- General James Mattis

Zgodovina sprememb…

  • spremenil: A. Smith ()

LightBit ::

Verni je izjavil:

Saj glibc deluje tudi na Windows.

Ne, glibc ne dela na Windows-ih.

Verni ::

LightBit je izjavil:

Verni je izjavil:

Saj glibc deluje tudi na Windows.

Ne, glibc ne dela na Windows-ih.

Itak da deluje - cygwin :D

LightBit ::

GNU C Library @ Wikipedia

cygwin uporablja newlib.

A. Smith ::

Ok, počasi dojemam, da je razlika med gLibC (drugo ime za GNU C Library, ki je prizadet) in uClibc, ki je ločena knjižnica in jo vsebujeta DD-WRT in Tomato.

Tole je komentar pod originalnim člankom v Arstechnici:
I think every single router firmware I've seen (including OpenWrt, DD-WRT, Tomato, etc.) has used uClibc, except the most recent ones that use musl instead. I tried an uClibc-based device and it doesn't seem to crash -- it connects to the server, does nothing but finishes without crashing.

It's not impossible that someone in that space is using glibc, but I'd say it is unlikely. That may not be true for more complex devices than a home router, however. I'm sure there are "bigger" embedded systems running vulnerable glibc's.
"Be professional, be polite,
but have a plan to kill everyone you meet".
- General James Mattis

Jst ::

Mi se pa moramo pogovoriti z našo odvetniško pisarno, ker po mojem branju, nismo več dolžni popravljati zadeve za nazaj, razen če nam plačajo po določeni postavki.

1. To je dober način zaslužiti še nekaj dearja.
2. Mi smo dolžni popraviti zadeve.

Dva izida, kjer v enem zaslužimo precej, v drugem nas pa grdo gledajo.

Not a good position to be in...

edit: to ni edina stvar, ki se nam je zgodila. Podobno zadevo smo morali rešiti že 2013, samo takrat ni bilo masovnega poročanja, tako da ni bilo frke.
Islam is not about "I'm right, you're wrong," but "I'm right, you're dead!"
-Wole Soyinka, Literature Nobelist
|-|-|-|-|Proton decay is a tax on existence.|-|-|-|-|

Zgodovina sprememb…

  • spremenil: Jst ()

erunno ::

SeMiNeSanja je izjavil:

Toti IoT bo postal še pravo minsko polje.


Bo postal? Lol, kje si spe pa skrival, IoT je minsko pilje že nekaj cajta. Sopemnem se par let nazaj, ko je en raziskovalec da bi dokazal nevarnost slabih FW od tiskalinkov, nevaren tako da je tiskaliniku poslal ukaz za avtomatcko nadgradnjo FW, potem ko je spremenil nezaščitene proxy nastatvitve na tiskalniku. Atvomatični update je od lažnega serverja potagnil "okuženi" FW, ki je vseboval Doom. Na ta način bi zlahka okužil tiskalni ki je za požarnim zidom in bi ga uporabil za vektor na nadaljne napade znotraj lokalnega omrežja. Pa tisto ni bil niti prvi praktični prikaz.

SeMiNeSanja ::

erunno je izjavil:

SeMiNeSanja je izjavil:

Toti IoT bo postal še pravo minsko polje.


Bo postal? Lol, kje si spe pa skrival, IoT je minsko pilje že nekaj cajta. Sopemnem se par let nazaj, ko je en raziskovalec da bi dokazal nevarnost slabih FW od tiskalinkov, nevaren tako da je tiskaliniku poslal ukaz za avtomatcko nadgradnjo FW, potem ko je spremenil nezaščitene proxy nastatvitve na tiskalniku. Atvomatični update je od lažnega serverja potagnil "okuženi" FW, ki je vseboval Doom. Na ta način bi zlahka okužil tiskalni ki je za požarnim zidom in bi ga uporabil za vektor na nadaljne napade znotraj lokalnega omrežja. Pa tisto ni bil niti prvi praktični prikaz.

To deluje še danes -tile famozni multifunkcijski tiskalniki imajo še veliko večjo 'površino' za napasti.

Nisem menil, da IoT ni problematičen že nekaj časa. Ampak včasih so bili na mrežo povezani tiskalniki in podobni gadgeti redkost. Danes njihovo število eksponencialno raste. Jutri bo že vsaka žarnica v hiši imela svoj IP naslov. Pojutrišnjem še vsak čevelj.

O tem sem govoril, da bo pravo minsko polje.
Posodabljanje bo morda na voljo - v času garancije. Kaj pa potem?
Boš menjal vse žarnice? Čevlje?....

Pithlit ::

SeMiNeSanja je izjavil:

Posodabljanje bo morda na voljo - v času garancije.

Ne bit tolk ziher... poglej Android (pa ni niti približno tolk fragmentiran kot je IoT)
Life is as complicated as we make it...

SeMiNeSanja ::

Pithlit je izjavil:

SeMiNeSanja je izjavil:

Posodabljanje bo morda na voljo - v času garancije.

Ne bit tolk ziher... poglej Android (pa ni niti približno tolk fragmentiran kot je IoT)

Tudi če bodo posodobitve na voljo - kdo bo ročno posodobil firmware na kakšnih 50-100 žarnicah? Vsaj na tak način, kot se danes posodablja firmware na IoT igračah, to ne bo šlo.

Pithlit ::

Saj pravim da ne bit ziher da posodobitve bodo (vsaj v garanciji). Za veliko večino stvari jih ne bo, sploh. Mogoče, samo mogoče (ampak bolj verjetno da ne) bodo na voljo na uradnem servisu... za zlatarske naprave, po zlatarskih cenah.
Life is as complicated as we make it...

FireSnake ::

Rias Gremory je izjavil:

Verni je izjavil:

FOSS je luknjast kot švicarski sir :8)

Še dobro, da na Oknih vse dela.
/s


Kaj ima tvoj komentar opraviti z novico (enako se Android tečnobe obesijo na vsako temo a Applu in ratujejo bolj sitni, kot so jabolčniki kdajkoli bili)?


Zanimivo je, da je koda na vpogled in se taki bugi še vedno odkrivajo.
Poglej in se nasmej: vicmaher.si

Verni ::

FireSnake je izjavil:


Zanimivo je, da je koda na vpogled in se taki bugi še vedno odkrivajo.

Ta napaka ni bila odkrita s pregledom kode, pač pa je pri uporabi nastal segfault.

FireSnake ::

Sem napisal, da je bila odkrita s pregledom?

Je treba biti funkcionalno pismen ;)
Poglej in se nasmej: vicmaher.si

Verni ::

FireSnake je izjavil:

Sem napisal, da je bila odkrita s pregledom?

Je treba biti funkcionalno pismen ;)

Nisi napisal, si pa namigoval.


Vredno ogleda ...

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

Raspberry Pi 3 bo imel Wi-Fi in Bluetooth ter 64-bitni procesor (strani: 1 2 )

Oddelek: Novice / Procesorji
5017731 (14159) roli
»

Neuradno: Chrome OS in Android bosta eno

Oddelek: Novice / Android
2712024 (9441) AnotherMe
»

win32 api vs "linux api"

Oddelek: Programiranje
273809 (3082) denial
»

Shranjevanje nastavitev -- register proti /etc (strani: 1 2 )

Oddelek: Programska oprema
554480 (4162) 64202
»

Debian Server

Oddelek: Operacijski sistemi
252016 (1679) Matri[X]

Več podobnih tem