Tweets by @buherablog
profile for buherator at IT Security Stack Exchange, Q&A for IT security professionals

A BitBetyár Blog

Túljártál a nagyokosok eszén? Küldd be a mutatványodat! (e-mail a buherator gmailkomra jöhet)

Full-Disclosure / Névjegy / Coming out


Promó

H.A.C.K.

Címkék

0day (110) adobe (87) adobe reader (21) anonymous (26) apple (60) az olvasó ír (49) blackhat (20) botnet (22) bug (200) buherablog (44) buhera sörözés (39) bukta (49) deface (38) dns (22) dos (29) esemény (82) facebook (26) firefox (64) flash (33) gondolat (31) google (59) google chrome (36) hacktivity (37) hírek (117) incidens (224) internet explorer (88) iphone (35) java (50) jog (22) kína (21) kriptográfia (68) kultúra (21) linux (24) malware (43) microsoft (142) móka (48) mozilla (23) office (26) oracle (40) os x (43) patch (197) php (20) politika (31) privacy (58) programozás (22) safari (34) sql injection (62) windows (85) xss (77) Címkefelhő

Licensz

Creative Commons Licenc

Szabad rablás a GitHubon

2012.03.05. 01:17 | buherator | 2 komment

Egor Homakov egy olyan hibát demózott, melynek kihasználásával tetszőleges GitHub felhasználó tárolóihoz korlátlen hozzáférést lehetett szerezni. A lépésre azután került sor, hogy Homakov sikertelenül próbálta meggyőzni a GitHubon is használt Ruby on Rails keretrendszer fejlesztőit, hogy változtassák meg az úgynevezett tömeges paraméterhozzárendelés alapértelmezett viselkedését, mivel jelenlegi formájában a lehetőség sok helyen vezet biztonsági problémához. Az érvek nyomatékosítása érdekében Homakov betolt egy commitot a Rails master branch-ébe.

A kihasznált sebezhetőség meglepően egyszerű: A Rails keretrendszer lehetővé teszi, hogy egy objektumot egyetlen Hash objektum (asszociatív tömb) átadásával példányosítsunk, az új példány attributumait a Hash elemeiként felsorolva. A probléma az, hogy alapértelmezetten az objektum bármely paraméteréhez érték rendelhető, vagyis ha a konstruktor paraméternek átadott Hash-t a felhasználó vezérli, hozzáférhet védendő paraméterekhez - például új felhasználó létrehozásakor beállíthatja, hogy a felhasználó az adminisztrátori csoportba tartozzon. A gyakorlatban ehhez egy param[attr] formátumú HTTP paramétert kell hozzácsapni a megfelelő kéréshez, ahol a param a példányosításhoz használt paraméter objektum neve, az attr pedig a beállítandó attribútum.

Homakov a GitHub több felületén is sikeresen kihasználta ezt a problémát, a legfájdalmasabb ütést a fiókokhoz tartozó nyilvános kulcsoknál tudta bevinni: a feltöltendő kulcshoz a célpont fiók azonosítóját megadva a feltöltött publikus kulcs az idegen fiókhoz rendelődik hozzá.

A demonstrációs célú támadás miatt a szakértőt sokan bírálják, a GitHub pedig letiltotta a hozzáférését. A GitHub teljes közösségét veszélybe sodorni tényleg felelőtlenségnek tűnik, a hibakeresésért pénzt kérni egy nyílt forrású projekt esetén minimum nem szimpatikus, de remélhetőleg a történtek gyors cselekvésre késztetik a hasonló hibákkal dolgozó Rails fejlesztőket.

Címkék: incidens ruby on rails ruby github mass assignment

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

buherator · http://buhera.blog.hu 2012.03.05. 16:11:01

Részletes leírás a mass assignment problémáról: gist.github.com/1978249

nyos 2012.03.07. 04:43:09

Ezek nem tanultak a register globalsos problemabol?