Udviklerne af Alpine Linux-distributionen har afsløret information om forsøg på at hacke den fælles udviklingsplatform gitlab.alpinelinux.org, hvor der blev arbejdet på APK-pakkeadministratoren, byggeværktøjerne, infrastrukturkomponenter og pakkeopbygningsscripts (aports). Angrebet blev udført ved at udnytte en sårbarhed i GitLab-platformen, forårsaget af et heltals-overløb i Ruby-regulære udtryksmotoren. Der blev ikke fundet beviser eller spor af et vellykket brud, men da det ikke kan udelukkes, at sårbarheden blev udnyttet, blev GitLab-containeren anset for potentiel kompromitteret, og dens indhold blev fuldstændigt genskabt fra bunden, samtidig med at brugerne blev bedt om at ændre deres adgangskoder.
Administratoren af Alpine Linux-infrastrukturen har ikke identificeret forekomsten af tredjeparterede filer, mistænkelige kørende processer, usædvanlige API-anmodninger, ændringer i indstillinger og systemfiler, eller spidser i belastningen, som typisk er kendetegnende for masseudtrækning af data. Under analysen af integriteten af aports-repositoriet, pakker og udgivelsesfiler, samt deres sammenligning med kopier fra eksterne byggeservere og udviklersystemer, blev der ikke fundet skjulte ændringer.
Den manglende information om udgående netværksforbindelser, sletningen af nogle logs under rotation (for eksempel cron-loggen) og manglen på tilstrækkelig detaljeringsgrad i webserverens logs (vellykket anvendelse af exploit, som ikke forårsager krasj, registreres ikke i loggen) gør det umuligt at udelukke en succesfuld gennemførelse af angrebet.
I tilfælde af et vellykket angreb kunne angriberne have fået adgang til databasen med oplysninger om alle GitLab-brugere (adgangskodehash, e-mail, IP-adresser osv.), miljøvariabler og tokens fra systemer til kontinuerlig integration, koder til to-faktor autentificering, hasher af personlige adgangs tokens, indhold af private repositorier og fortrolige diskussioner om problemer. Nøgler til generering af digitale signaturer til udgivelser og pakker blev ikke opbevaret i den angrebne serveren system.
De første forsøg på at udnytte sårbarheden blev registreret den 20. og 21. oktober. Angriberen oprettede en konto i GitLab og forsøgte at indsende modificerede indstillinger for systemet til kontinuerlig integration. Loggene registrerede 8 nedbrudte arbejdsprocesser i GitLab, hvoraf 4 var relateret til brugen af exploitet. Det blev bemærket, at den første fase af exploitens arbejde var succesfuld, men den anden fase mislykkedes.
På tidspunktet for angrebet blev der anvendt en sårbar version af GitLab 19.3.4 i containeren, som blev opdateret til GitLab 19.3.6 den 22. oktober. Men administratorerne af Alpine tog ikke højde for, at rettelsen kun blev inkluderet i de officielle installationspakker for GitLab 19.3.6, og ikke i selve koden for GitLab, da sårbarheden stadig er til stede i Ruby-værktøjerne. I containeren blev det gamle Ruby-værktøj fortsat brugt, og sårbarheden forblev uoprettet.
Det blev først opdaget den 26. oktober, at systemet stadig var sårbart. En gennemgang af loggene viste, at angrebere genoptog deres angrebsforsøg den 25. og 26. oktober. Den 27. oktober blev adgangen for eksterne brugere til GitLab begrænset. Den 28. oktober blev indholdet genopbygget, alle adgangskoder blev nulstillet (brugere skal oprette en ny adgangskode ved hjælp af proceduren for at gendanne glemte adgangskoder), og adgangsnøglerne blev udskiftet. Den 29. oktober blev den opdaterede server sat i drift. Det Docker-container-projekt der hedder alpinelinux/gitlab, forblev sårbart indtil den 27. oktober.
Kilde: opennet.ru
