Razvijalci distribucije Alpine Linux so razkrili informacije o poskusih hekerskega napada na platformo za skupinskega razvijanja gitlab.alpinelinux.org, kjer so potekale aktivnosti na paketnem upravljavcu APK, orodjih za sestavljanje, komponentah infrastrukture in skriptah za sestavljanje paketov (aports). Napad je bil izveden preko izkoriščanja ranljivosti v platformi GitLab, ki jo je povzročilo prenapolnjenje celotnega števila v motorju regularnih izrazov jezika Ruby. Dokazov in sledov uspešnega hekerskega napada ni bilo mogoče najti, vendar pa, ker popolnoma izključiti uspešno izkoriščanje ranljivosti ni mogoče, je bil kontejner z GitLabom razglašen za potencialno ogroženega, vsebina pa je bila popolnoma prenovljena, uporabnikom pa je bila sprožena procedura za spremembo gesel.
Administratorji infrastrukture Alpine Linux niso odkrili prisotnosti nepooblaščenih datotek, suma o zagonu nenavadnih procesov, nenavadnih dostopov do API, sprememb v nastavitvah in sistemskih datotekah ter nenadnih skokov obremenitve, značilnih za množično pridobivanje podatkov. V postopku analize celovitosti repozitorija aports, paketov in datotek z različicami, ter njihove primerjave s kopijami z zunanjih strežnikov za sestavljanje in sistemov razvijalcev, skritih sprememb niso našli.
Popolnoma izključiti uspešno izvedbo napada ne omogoča pomanjkanje informacij o odhodnih omrežnih povezavah, izbris nekaterih logotipov pri rotaciji (na primer loga cron-a) in pomanjkanje ustrezne podrobnosti v logih spletnega strežnika (uspešna uporaba exploita, ki ne vodi do nenadnega konca, se ne odraža v logu).
V primeru uspešnega napada bi hekerji lahko pridobili dostop do DB z informacijami o vseh uporabnikih GitLab (hashi gesel, email, IP-naslove itd.), spremenljivkami okolja in žetoni iz sistemov za neprekinjeno integracijo, kodami dvofaktorske avtentikacije, hashi osebnih žetonov dostopa, vsebino zasebnih repozitorijev in zaupno razpravo o težavah. Ključi za ustvarjanje digitalnih podpisov za različice in pakete na napadenem strežnikom niso bili shranjeni.
Prvi pokušaji iskorištavanja ranjivosti zabilježeni su 20. i 21. oktobra. Napadač je registrovao nalog na GitLabu i pokušao je poslati modificirane postavke sistema kontinuirane integracije. U logovima je zabilježeno 8 hitnih završetaka radnih procesa GitLab-a, od čega su 4 povezana s primjenom exploit-a. Ističe se da je prva faza rada exploit-a bila uspješna, ali je druga faza završila neuspješno.
U trenutku napada, u kontejneru je korišćena ranjiva verzija GitLab 19.3.4, koja je 22. oktobra ažurirana na izdanja GitLab 19.3.6. Međutim, administratori Alpine-a nisu uzeli u obzir da je ispravka unesena samo u zvanične instalacione pakete GitLab 19.3.6, a ne u sam kod GitLab-a, jer ranjivost postoji u Ruby alatu. U kontejneru je i dalje korišćen stari Ruby alat i ranjivost je ostala neispravljena.
To što sistem ostaje ranjivim otkriveno je tek 26. oktobra. Analiza logova pokazala je da su 25. i 26. oktobra napadači ponovo započeli pokušaje napada. 27. oktobra pristup spoljnih korisnika GitLab-u je ograničen. 28. oktobra sadržaj je rekonstruisan, sve šifre su resetovane (korisnicima je potrebno da postave novu šifru putem procedure za oporavak zaboravljene šifre), a pristupni ključevi su zamenjeni. 29. oktobra ažurirani strežnik je pušten u rad. Prateći projekat Docker kontejner alpinelinux/gitlab ostao je ranjiv sve do 27. oktobra.
Izvor: opennet.ru
