Odkrita kritična ranljivost v Sambi

Matej Huš

11. apr 2012 ob 23:40:27

V vseh verzijah Sambe, ki omogoča deljenje datotek in tiskalnikov prek platform z uporabo protokola SMB/CIFS (tipičen primer je sodelovanje računalnikov z Windows in Linuxom), to je od 3.0.0 do 3.6.3 (ki je izšla januarja) so odkrili kritično ranljivost, ki napadalcu omogoča izvrševanje kode z administratorskimi (root) privilegiji. Ranljivost, ki je bila v kodi vse od leta 2003 (!), je zakrpana šele v sveži verziji 3.6.4, ki je izšla včeraj. Poleg tega so seveda izšli tudi popravki za zgodnejše verzije. O resnosti napake priča dejstvo, da so posodobili vse verzije od 3.0.37 dalje, čeprav so uradne podprte le linije 3.4.x, 3.5.x in 3.6.x. Na internetu že obstoji delujoč primer izkoriščanja (v obliki proof of concept), zato je posodobitev programa obvezna.

Težava tiči v generatorju kode za RPC (remote procedure call), ki lahko zaradi hrošča tvori ranljivo kodo. S posebej prilagojenim RPC-klicem je mogoče strežnik, ki poganja Sambo, pretentati v zagon poljubne kode z najvišjimi privilegiji (root). Vse, kar napadalec potrebuje, je navadna (unauthenticated) povezava do strežnika. Začasna rešitev v primerih, ko takojšnja nadgradnja ni mogoče (npr. v industriji), je nastavitev parametra hosts allow v datoteki smb.conf le na zaupanja vredne uporabnike. Ker je naslove zlahka mogoče ponarediti, je edina popolnoma zadovoljiva rešitev nadgradnja.

Dodatni problem predstavljajo naprave, kjer to ni mogoče. Samba je namreč nameščena v precej embedded sistemih, kjer nadgradnja ni vedno mogoča oz. enostavna. Mednje sodijo tudi nekateri televizijski sprejemniki, omrežni diski itd. Brian Gorenc, ki je ranljivost prvi javil, svojega dokaza koncepta ni izdal na splet, a pravi, da bodo zlikovci z analizo popravka zlahka ugotovili, kako izkoristiti luknjo.