Utvecklarna av Alpine Linux-distributionen har offentliggjort information om försök att hacka plattformen för gemensam utveckling gitlab.alpinelinux.org, dÀr arbete pÄ pakethanteraren APK, byggverktyg, infrastrukturkomponenter och paketbyggskript (aports) pÄgick. Attacken genomfördes genom utnyttjande av en sÄrbarhet i GitLab-plattformen, orsakat av ett heltalsoverflöde i Ruby-regexmotorn. Bevis och spÄr av en lyckad hackning har inte kunnat pÄvisas, men eftersom det inte gÄr att helt utesluta en lyckad utnyttjande av sÄrbarheten, har GitLab-containern bedömts som potentiellt komprometterad och dess innehÄll har ombyggts helt frÄn grunden, samtidigt som anvÀndarna utlöste en procedur för att byta lösenord.
Administratörerna för Alpine Linux-infrastrukturen har inte upptÀckt nÄgra utomstÄende filer, misstÀnkta körande processer, ovanlig API-anrop, Àndringar av instÀllningar och systemfiler, eller belastningsspikar som Àr typiska för massdatautvinning. Under analysen av integriteten i aports-repo, paket och release-filer, samt jÀmförelse med kopior frÄn externa byggservrar och utvecklarsystem, har inga dolda Àndringar upptÀckts.
Att helt utesluta en lyckad attack förhindras av avsaknaden av information om utgÄende nÀtverksanslutningar, borttagning av vissa loggar vid rotation (t.ex. cron-logg) och avsaknaden av adekvat detaljer i webserverloggar (en lyckad tillÀmpning av exploit som inte leder till krascher, Äterspeglas inte i loggen).
Vid en lyckad attack kunde angriparna ha fÄtt tillgÄng till databasen med information om samtliga GitLab-anvÀndare (lösenordshashar, e-post, IP-adresser m.m.), miljövariabler och tokens frÄn kontinuerliga integrationssystem, koder för tvÄfaktorsautentisering, hashvÀrden för personliga Ätkomsttokens, innehÄllet i privata repositories och konfidentiella diskussioner om problem. Nycklar för att skapa digitala signaturer för releaser och paket pÄ den attackerade servern sparades inte.
De första försöken att utnyttja sÄrbarheten registrerades den 20 och 21 oktober. Angriparen registrerade ett konto pÄ GitLab och försökte skicka modifierade konfigurationer för systemet för kontinuerlig integration. I loggarna registrerades 8 krascher av GitLab-arbetsflöden, varav 4 var relaterade till utnyttjandet. Det noteras att den första fasen av utnyttjandet var framgÄngsrik, men den andra fasen slutade med ett misslyckande.
Vid tidpunkten för attacken anvÀndes en sÄrbar version av GitLab 19.3.4 i containern, som uppdaterades till GitLab 19.3.6 den 22 oktober. Men administratörer av Alpine tog inte hÀnsyn till att fixet endast hade tillÀmpats i officiella installationspaket för GitLab 19.3.6, inte i sjÀlva koden för GitLab, eftersom sÄrbarheten finns i Ruby-verktygen. I containern fortsatte det gamla Ruby-verktyget att anvÀndas och sÄrbarheten förblev ofixad.
Att systemet fortsatte att vara sÄrbart upptÀcktes först den 26 oktober. En granskning av loggar visade att angriparna Äterupptog sina attacker den 25 och 26 oktober. Den 27 oktober begrÀnsades Ätkomsten för externa anvÀndare till GitLab. Den 28 oktober rekonstruerades innehÄllet, alla lösenord ÄterstÀlls (anvÀndarna mÄste stÀlla in ett nytt lösenord via proceduren för att ÄterstÀlla glömda lösenord) och Ätkomstnycklarna ersattes. Den 29 oktober den uppdaterade server satts i drift. Det Docker-containerprojekt som heter alpinelinux/gitlab förblev sÄrbart fram till den 27 oktober.
KĂ€lla: opennet.ru
