Útok na GitLab server projektu Alpine Linux

Vývojáři distribuce Alpine Linux odhalili informace o pokusech o hacknutí platformy pro společný vývoj gitlab.alpinelinux.org, na které se pracovalo na správci balíčků APK, build nástrojích, infrastrukturních komponentách a skriptech pro sestavení balíčků (aports). Útok byl proveden prostřednictvím zneužití zranitelnosti na platformě GitLab, způsobené přetečením celočíselné hodnoty v regulárním výrazu jazyka Ruby. Důkazy a stopy o úspěšném hacknutí nebyly nalezeny, avšak protože není možné zcela vyloučit úspěšné zneužití zranitelnosti, kontejner s GitLabem byl označen za potenciálně kompromitovaný a jeho obsah byl kompletně přestavěn od nuly, a u uživatelů byla zahájena procedura změny hesel.

Správci infrastruktury Alpine Linux nezjistili přítomnost cizích souborů, podezřelých běžících procesů, neobvyklých přístupů k API, změn v nastavení a systémových souborech, ani špičky zátěže, které by svědčily o masovém vytěžování dat. Při analýze integrity repozitáře aports, balíčků a souborů s vydáními, jakož i jejich porovnání s kopiemi z externích build serverů a systémů vývojářů, nebyly zjištěny skryté změny.

Úplně vyloučit úspěšné provedení útoku brání nedostatek informací o odchozích síťových spojeních, odstranění některých logů při rotaci (například logu cron) a nedostatek potřebné podrobnosti v logech webového serveru (úspěšné použití exploit-u, které nevedlo k havarijnímu ukončení, se v logu neodráží).
V případě úspěšného útoku by útočníci mohli získat přístup k databázi s údaji o všech uživatelích GitLab (hashi hesel, email, IP adres atd.), proměnným prostředí a tokenům z systémů kontinuální integrace, kódům dvoufaktorové autentizace, hashingu osobních tokenů pro přístup, obsahu soukromých repozitářů a důvěrným diskuzím o problémech. Klíče pro generování digitálních podpisů k vydáním a balíčkům na napadeném serveru nebyly uchovávány.

První pokusy o využití zranitelnosti byly zaznamenány 20. a 21. října. Útočník si zaregistroval účet na GitLabu a snažil se poslat upravené konfigurace systému kontinuální integrace. V logech bylo zaznamenáno 8 havarijních ukončení pracovních toků GitLab, z nichž 4 souvisely s použitím exploitů. Bylo zaznamenáno, že první fáze exploitu byla úspěšná, ale druhá fáze skončila neúspěchem.

V době útoku byla v kontejneru používána zranitelná verze GitLab 19.3.4, která byla 22. října aktualizována na verzi GitLab 19.3.6. Ale administrátoři Alpine nezohlednili, že oprava byla provedena pouze v oficiálních instalačních balíčcích GitLab 19.3.6, nikoli v samotném kódu GitLab, protože zranitelnost byla přítomna v nástrojích Ruby. V kontejneru byl nadále používán starý nástroj Ruby a zranitelnost zůstala neopravena.

Skutečnost, že systém zůstává zranitelný, byla zjištěna až 26. října. Analýza logů ukázala, že 25. a 26. října útočníci znovu zahájili pokusy o útok. Dne 27. října byl přístup externích uživatelů k GitLab omezen. Dne 28. října bylo obsah přestavěno, všechny hesla byla resetována (uživatelé si musí nastavit nové heslo prostřednictvím procedury pro obnovení zapomenutého hesla) a přístupové klíče byly vyměněny. Dne 29. října byl aktualizovaný server přiveden do provozu. Projekt Docker kontejner alpinelinux/gitlab zůstal zranitelný až do 27. října.

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster