Grails վեբ շրջանակի և TZInfo Ruby մոդուլի խոցելիությունը

Grails վեբ շրջանակում, որը նախատեսված է JVM-ի Java, Groovy և այլ լեզուներով MVC պարադիգմին համապատասխան վեբ հավելվածներ մշակելու համար, հայտնաբերվել է խոցելիություն, որը թույլ է տալիս հեռակա կարգով կատարել ձեր կոդը այն միջավայրում, որտեղ վեբն է: հավելվածն աշխատում է: Խոցելիությունը շահագործվում է՝ ուղարկելով հատուկ մշակված հարցում, որը հարձակվողին հնարավորություն է տալիս մուտք գործել ClassLoader: Խնդիրը պայմանավորված է տվյալների կապակցման տրամաբանության թերությամբ, որն օգտագործվում է ինչպես օբյեկտներ ստեղծելիս, այնպես էլ bindData-ի միջոցով ձեռքով կապելիս։ Խնդիրը լուծվել է 3.3.15, 4.1.1, 5.1.9 և 5.2.1 թողարկումներում:

Բացի այդ, մենք կարող ենք խոցելիություն նշել Ruby մոդուլի tzinfo-ում, որը թույլ է տալիս ներբեռնել ցանկացած ֆայլի բովանդակություն, որքանով որ հարձակման ենթարկված հավելվածի մուտքի իրավունքները թույլ են տալիս: Խոցելիությունը պայմանավորված է TZInfo::Timezone.get մեթոդով սահմանված ժամային գոտու անունով հատուկ նիշերի օգտագործման պատշաճ ստուգման բացակայության պատճառով: Խնդիրն ազդում է այն հավելվածների վրա, որոնք չվավերացված արտաքին տվյալներ են փոխանցում TZInfo::Timezone.get-ին: Օրինակ՝ /tmp/payload ֆայլը կարդալու համար կարող եք նշել այնպիսի արժեք, ինչպիսին է «foo\n/../../../tmp/payload»:

Source: opennet.ru

Добавить комментарий