Վերադառնալ
Google-ին երկու ամիս պահանջվեց DevSite թերությունը շտկելը, որը թույլ էր տալիս կոդ կատարել առանց ավտորիզացիայի
SiTech AI Team3 րոպե ընթերցում

Google-ին երկու ամիս պահանջվեց DevSite թերությունը շտկելը, որը թույլ էր տալիս կոդ կատարել առանց ավտորիզացիայի

Վերագործած OAuth հաճախորդի գաղտնի բանալին համարյա թույլ տվեց թշնամուն կեղծել Flask սեսիայի քուքիներ և կատարել Python կոդ DevSite սերվերներում, որոնցում աշխատում են developers.google.com և վեց փաստաթղթային կայք։

Վերագործած գաղտնի բանալին հեռահարա կոդի կատարման դարձավ

Google-ը շտկեց DevSite-ում ավտորիզացիայի առանց հեռահարա կոդի կատարման (RCE) թերությունը, հարթակում, որի վրա աշխատում են developers.google.com և ևս մի քանի փաստաթղթային կայք։ Խնդիրը, որը Google-ը դասեց S0՝ սերիոզության սանդղակի ամենաբարձր աստիճանը, հայտնաբերեց Otark GmbH ծրագրային ինժեներ Simon Köck-ը։

Սկզբնական պատճառը վերագործած OAuth հաճախորդի գաղտնի բանալին էր։ DevSite-ը Flask սեսիայի քուքիում պահում էր Google-ի oauth2client գրադարանի սերիալիզված OAuth2WebServerFlow օբյեկտը, որը ընկերությունը թողել էր google-auth-ի օգտագործման համար, և դրանով բանալին հայտնի դարձավ։ Նույն բանալին Google-ը օգտագործում էր նաև DevSite սեսիայի ստորագրման բանալի համար, ինչը Köck-ը հաստատեց՝ քուքիի ստորագրությունը օֆլայն բազմապատկելով։

Կեղծված սեսիաները ընդունվում էին յոթ դոմենում

Köck-ը հաստատեց, որ կեղծված սեսիաները ընդունվում էին բոլոր յոթ տուժված դոմեններում, որոնք ապավինվում էին երկու տարբեր ստորագրման բանալիների վրա։ Կոդի կատարումը նա ցույց տվեց երեքի վրա՝ developers.google.com, docs.partner.android.com և web.dev։ Առանց ավտորիզացիայի RCE-ն նա ստուգեց Python-ի sleep payload-ով և չափեց պատասխանի ուշացումները, սակայն իրեն սահմանափակեց՝ չգործարկելով հրամաններ և չմուտք գործելով ֆայլեր, տվյալներ կամ ներքին ծառայություններ։

«Ես դա հատկապես լրջագույն RCE կհամարեի, քանի որ յուրաքանչյուրը կարող էր դրան հասնել առանց հաշվի բացելու և զեծկվձի ներգրավելու», — ասում է Köck-ը The New Stack-ի հետ հարցազրույցում։

Google-ը վճարեց 90 000 դոլար պրեմիայ՝ 75 000 դոլար հիմնական վճար S0 մակարդակի RCE-ի համար այն դեպքում, երբ ընկերությունը դրան վերաբերում է որպես ծրագրային ապահովման սովորական մակարդակ, բազմապատկված 1,2-ով՝ հաշվի հատուկ որակի համար։

Շղթան ավարտվեց Pickle դեսերիալիզացիայով

OAuth-ի callback սեսիայի տվյալները դեսերիալիզելու համար օգտագործում էր Python-ի pickle-ը։ Köck-ը flow օբյեկտը փոխեց վտանգավոր pickle payload-ով, կեղծ քուքին ստորագրեց և callback-ը կատարեց։ Շղթայի համար պետք է հաջորդաբար լուծվեին երեք սխալ՝ քուքիում բացահայտված բանալին, նույն բանալին ստորագրման բանալի համամ երկանգնակի բեռնումը և սեսիայի տվյալների անվտանգ չդեսերիալիզացիան։ Ցանկացած մեկի շտկումը կընդհարկեում է շղթան։

Երկու ամիս շտկմանը, պատասխան չտրված հարցեր մնաում են

Köck-ը թերությունը հայտնեց 6 օգոստոսին, իսկ Google-ը այն ստացեց մեկ հաջորդ օրը։ Պրեմիան հաստատվեց 27 օգոստոսին, իսկ շտկումը իրականացվեց միայն 7 հոկտեմբերին։ Google-ը բացատրություն չտվեց երկամսյա ժամկետի համար, թե արդյոք դրանք միջոցառել էին ժամանակավոր մեղմող միջոքներ, թե արդյոք երկու հայտնաբերված OAuth հաճախորդների գաղտնի բանալիներից որևէ մեկը փոխվել էր, և թե արդյոք գոյություն ունևցող սեսիաները չեղյալ են համշեցվել։ Köck-ը ասում է, որ ոռոգային եզրակցություն ենթերբեք չի ստացել և չգիտի, տեսել է Google-ը արդյոք շտկումից առաջ շահույթի օգտագործման ապացույց։ Այս թարմացման համար Google-ի կոմենտարի հայցին պատասխան չի տրվել։

Arvin Shivram-ը, սինգապուրցի եռևանրություն, ով գործում է @brutecat անվանմամբ և իր հաշվով հայտնել է 130-ից ավելի Google թերություններ, նշում է, որ App Engine-ի ներքին հավելվածները հաճախ մուտք ունեն Stubby-ին՝ Google-ի ներքին ծառայությունների միջև փոխանակման համակարգին։ Köck-ը ճանաչում է, որ այս մուքը «կարող է լինել ազդեցության զգալի մասը», սակայն չի ստուգել՝ ինչպես էր կարող հասնել այս կոնկրետ DevSite գործընթացին։ Նա նաև չի ստուգել փաստաթղթերի բովանդակությանը գրելու իրավունքը, որտեղ փոփոխված տեղակայման հրամանները կամ ներբեռման հղումները կարող էին առաջացնել շղթայական հաձվելություն։ Նրա հաշվով ցուցադրված ազդեցությունը հասցնում է երեք հոսթում կոդ կատարելը և յոթում ընդունվել կեղծ սեսիաները, իսկ լիկվիդ ոլորտը՝ ներառյալ Google-ի ներքին ծառայություններ հասնելու ճանապարհները, մնում է անհաստատ։

Աղբյուրներ: Thenewstack

SSiTech

SiTech — AI-ով հզորացված վեբ մշակում

Ստեղծում ենք արագ ու ժամանակակից կայքեր և AI-ը ներդնում իրական բիզնես գործընթացներում։ Ունե՞ք նախագիծ կամ հարց։ Ուրախ կլինենք օգնել։