GHOST - resna ranljivost v glibc

Matej Huš

1. feb 2015 ob 13:40:00

V Linuxovi knjižnici glibc so odkrili resno ranljivost, ki se je je prijelo ime GHOST (zaradi funkcije GetHOST) in napadalcu omogoča prevzem nadzora nad sistemom. Problematične so funkcije gethostbyname*() (ki kličejo __nss_hostname_digits_dots(), ki je občutljiva na prekoračitev predpomnilnika) v glibc (GNU C Library) v verzijah 2.17 in starejših. Že maja 2013 je sicer izšla verzija 2.18, ki ranljivosti ni več vsebovala, a je tedaj niso prepoznali in označili kot ranljivosti, zato vsi niso izvedli nadgradnje. Qualys so bili prvi, ki so ranljivost tudi identificirali. Prizadeta programska oprema med drugim vključuje clockdiff, procmail, pppd in Exim.

V podjetju Sucuri pa so ugotovili, da so potencialno ranljive vse v PHP napisane aplikacije, ki uporabljajo problematično funkcijo (recimo WordPress), kar bistveno razširi možnosti zlorab, saj je ranljivost mogoče zlorabljati lokalno ali oddaljeno. Recimo, WordPress uporablja funkcijo wp_http_validate_url() za preverjanje URL-naslova pošiljatelja pingbacka, za kar uporabi tudi funcijo gethostbyname(). Na ta način lahko napadalec strežnik z WordPressom pretenta v poganjanje poljubne zlonamerne kode.

Z enostavnim ukazom je mogoče preveriti, ali je vaš spletni strežnik ranljiv. Pri Trustwave SpiderLabs so sestavili dokaz koncepta, ki omogoča preveriti, ali je občutljiv določen spletni strežnik. Uporabniki WordPressa lahko izključijo XML-RPC oziroma blokirajo pingback. Vse večje Linuxove distribucije so tudi že izdale popravke, ki so ranljivost zakrpali. Ni znano, da bi ranljivost kdo že aktivno izkoriščal.