Útok na servery GitLab projektu Alpine Linux

Vývojári distribúcie Alpine Linux zverejnili informácie o pokusoch o hacking platformy na spoločný vývoj gitlab.alpinelinux.org, na ktorej sa pracovalo na správcoch balíkov APK, nástrojích na zostavenie, komponentoch infraštruktúry a skriptoch na zostavenie balíkov (aports). Útok bol vykonaný prostredníctvom zneužitia zraniteľnosti v platforme GitLab, spôsobenom celočíselným pretečením v engine regulárnych výrazov jazyka Ruby. Dôkazy a stopy úspešného hackovania sa nenašli, ale vzhľadom na to, že úplné vylúčenie úspešného zneužitia zraniteľnosti nie je možné, kontajner s GitLab bol vyhlásený za potenciálne skompromitovaný a jeho obsah bol kompletne prestavaný od základov, pričom bola u používateľov iniciovaná procedúra na zmenu hesiel.

Administrátori infraštruktúry Alpine Linux nezistili prítomnosť externých súborov, podozrivých spustených procesov, nezvyčajných požiadaviek na API, zmien v nastaveniach a systémových súboroch, ani nárastov záťaže typických pre masívne získavanie údajov. Počas analýzy integrity repozitára aports, balíkov a súborov s vydaniami, ako aj ich porovnaní s kópiami z externých zostavovacích serverov a systémov vývojárov, neboli zistené žiadne skryté zmeny.

Úplne vylúčiť úspešné vykonanie útoku bráni nedostatok informácií o odchádzajúcich sieťových pripojeniach, odstránenie niektorých logov pri rotácii (napr. log cron-u) a nedostatok riadnej detailnosti v logoch webového servera (úspešné použitie exploitu, ktoré nevedie k havárii, sa neodráža v logu).
V prípade úspešného útoku mohli útočníci získať prístup k DB so všetkými údajmi používateľov GitLab (hashované heslá, email, IP adresy a pod.), premenným prostredia a tokenom zo systémov kontinuálnej integrácie, kódov dvojfaktorovej autentifikácie, hashom osobných prístupových tokenov, obsahu súkromných repozitárov a dôverným diskusiám problémov. Kľúče na generovanie digitálnych podpisov k vydaniam a balíkom na napadnutom serveri neboli uchovávané.

Prvé pokusy o zneužitie zraniteľnosti boli zaznamenané 20. a 21. októbra. Útočník si zaregistroval účet na GitLab a pokúšal sa poslať modifikované nastavenia systému kontinuálnej integrácie. V logoch bolo zaznamenaných 8 havarijných ukončení pracovných procesov GitLab, z ktorých 4 súviseli s použitím exploitu. Je zaznamenané, že prvá fáza práce exploita bola úspešná, ale druhá fáza skončila zlyhaním.

V čase útoku sa v kontajneri používala zraniteľná verzia GitLab 19.3.4, ktorá bola 22. októbra aktualizovaná na vydanie GitLab 19.3.6. Administrátori Alpine však nezohľadnili, že oprava bola vykonaná iba v oficiálnych inštalačných balíčkoch GitLab 19.3.6, nie v samotnom kóde GitLab, pretože zraniteľnosť bola prítomná v nástrojoch Ruby. V kontajneri bol naďalej používaný starý nástroj Ruby a zraniteľnosť ostala neopravená.

To, že systém zostáva zraniteľný, bolo zistené až 26. októbra. Analýza logov ukázala, že 25. a 26. októbra útočníci obnovili pokusy o útok. 27. októbra bol prístup externých používateľov k GitLab obmedzený. 28. októbra bol obsah znovu zostavený, všetky heslá boli resetované (používatelia musia nastaviť nové heslo prostredníctvom procesu obnovenia zabudnutého hesla) a prístupové kľúče boli vymenené. 29. októbra bol aktualizovaný server uvedený do prevádzky. Sprevádzaný projektom Docker-kontajner alpinelinux/gitlab zostával zraniteľný až do 27. októbra.

Zdroj: opennet.ru

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster