Alpine բաշխման մշակողները Linux Նրանք բացահայտեցին gitlab.alpinelinux.org համագործակցային մշակման հարթակը կոտրելու փորձերի մասին տեղեկություններ, որտեղ աշխատանքներ էին տարվել APK փաթեթների կառավարչի, կառուցման գործիքների, ենթակառուցվածքային բաղադրիչների և փաթեթների կառուցման սկրիպտների (aports) վրա: Հարձակումն իրականացվել է GitLab հարթակում առկա խոցելիության շահագործմամբ, որը առաջացել էր Ruby կանոնավոր արտահայտությունների շարժիչում ամբողջ թվերի գերլցման պատճառով: Հաջող կոտրման որևէ ապացույց կամ հետք չի հայտնաբերվել, բայց քանի որ անհնար է լիովին բացառել խոցելիության հաջող շահագործումը, GitLab կոնտեյները համարվել է պոտենցիալ խախտված, և դրա պարունակությունը ամբողջությամբ վերակառուցվել է զրոյից, և օգտատերերի համար սկսվել է գաղտնաբառի վերականգնման ընթացակարգ:
Ալպյան ենթակառուցվածքների ադմինիստրատորներ Linux Երրորդ կողմի ֆայլեր, կասկածելի գործող գործընթացներ, անսովոր API կանչեր, կարգավորումների կամ համակարգային ֆայլերի փոփոխություններ կամ զանգվածային տվյալների արդյունահանմանը բնորոշ բեռնման կտրուկ աճեր չեն հայտնաբերվել: aports պահոցի, փաթեթների և թողարկման ֆայլերի ամբողջականության վերլուծությունը, ինչպես նաև դրանց ստուգումը արտաքին կառուցման սերվերներից և մշակողների համակարգերից ստացված պատճենների համեմատ, չի բացահայտել որևէ թաքնված փոփոխություն:
Ելքային ցանցային միացումների մասին տեղեկատվության բացակայությունը, որոշ գրանցամատյանների ջնջումը ռոտացիայի ընթացքում (օրինակ՝ cron գրանցամատյանը) և վեբ սերվերի գրանցամատյաններում բավարար մանրամասների բացակայությունը (գրանցամատյանում չի արտացոլվում վթարի չհանգեցնող շահագործման հաջող օգտագործումը) անհնար են դարձնում հաջող հարձակման լիակատար բացառումը։
Եթե հարձակումը հաջող լիներ, հարձակվողները կարող էին մուտք գործել GitLab-ի բոլոր օգտատերերի տվյալները պարունակող տվյալների բազա (գաղտնաբառերի հեշեր, էլ․ փոստ, IP հասցեներ և այլն), անընդհատ ինտեգրման համակարգերից ստացված միջավայրի փոփոխականներ և տոկեններ, երկփուլային նույնականացման կոդեր, անձնական մուտքի տոկենների հեշեր, մասնավոր պահոցների բովանդակություն և խնդիրների գաղտնի քննարկումներ: Հարձակման ենթարկված սերվերի վրա թողարկումների և փաթեթների համար թվային ստորագրություններ ստեղծելու բանալիներ: սերվեր չեն պահպանվել։
Խոցելիությունը շահագործելու առաջին փորձերը գրանցվել են հոկտեմբերի 20-ին և 21-ին: Հարձակվողը գրանցել է GitLab հաշիվ և փորձել է փոփոխված կարգավորումներն ուղարկել շարունակական ինտեգրման համակարգին: Գրանցամատյաններում գրանցվել է GitLab գործընթացի ութ խափանում, որոնցից չորսը կապված էին շահագործման հետ: Շահագործման առաջին փուլը հաջող էր, բայց երկրորդ փուլը ձախողվեց:
Հարձակման պահին կոնտեյների վրա աշխատում էր GitLab 19.3.4-ի խոցելի տարբերակը, որը հոկտեմբերի 22-ին թարմացվել էր GitLab 19.3.6 տարբերակի: Սակայն Alpine-ի ադմինիստրատորները հաշվի չառան, որ շտկումը ներառված էր միայն GitLab 19.3.6-ի պաշտոնական տեղադրման փաթեթներում, այլ ոչ թե GitLab կոդում, քանի որ խոցելիությունը առկա էր Ruby գործիքակազմում: Կոնտեյները շարունակում էր օգտագործել Ruby-ի ավելի հին գործիքակազմը, և խոցելիությունը մնացել էր չթարմացված:
Մնացած խոցելիությունը հայտնաբերվել է միայն հոկտեմբերի 26-ին: Գրանցամատյանների վերլուծությունը ցույց է տվել, որ հարձակվողները վերսկսել են իրենց հարձակումները հոկտեմբերի 25-ին և 26-ին: Հոկտեմբերի 27-ին սահմանափակվել է GitLab-ին երրորդ կողմի մուտքը: Հոկտեմբերի 28-ին բովանդակությունը վերակառուցվել է, բոլոր գաղտնաբառերը վերակայվել են (օգտատերերից պահանջվում էր նոր գաղտնաբառ սահմանել մոռացված գաղտնաբառի վերականգնման ընթացակարգի միջոցով), և մուտքի բանալիները փոխարինվել են: Հոկտեմբերի 29-ին թարմացվել է... սերվեր շահագործման հանձնվեց։ Նախագծի կողմից սպասարկվող Docker alpinelinux/gitlab կոնտեյները խոցելի մնաց մինչև հոկտեմբերի 27-ը։
Source: opennet.ru
