Խոցելիություն Linux միջուկի AF_PACKET վարդակից ներդրման մեջ

Խոցելիության ալիքից երեք տարի անց (1, 2, 3, 4, 5) Linux միջուկի AF_PACKET ենթահամակարգում բացահայտված ևս մեկ խնդիր (CVE-2020-14386- ը), թույլ տալով տեղական ոչ արտոնյալ օգտվողին կատարել կոդը որպես արմատ կամ դուրս գալ մեկուսացված կոնտեյներներից, եթե նրանք ունեն արմատային մուտք:

AF_PACKET վարդակից ստեղծելը և խոցելիությունը օգտագործելը պահանջում են CAP_NET_RAW արտոնություններ: Այնուամենայնիվ, նշված թույլտվությունը կարող է ստանալ ոչ արտոնյալ օգտվողը բեռնարկղերում, որոնք ստեղծվել են համակարգերում, որոնց աջակցությամբ միացված են օգտվողների անունների տարածքները: Օրինակ, օգտատերերի անունների տարածքները լռելյայն միացված են Ubuntu-ում և Fedora-ում, բայց միացված չեն Debian-ում և RHEL-ում: Android-ում մեդիասերվերի պրոցեսն իրավունք ունի ստեղծել AF_PACKET վարդակներ, որոնց միջոցով հնարավոր է օգտագործել խոցելիությունը։

Խոցելիությունը առկա է tpacket_rcv ֆունկցիայում և առաջանում է netoff փոփոխականի հաշվարկման սխալի պատճառով: Հարձակվողը կարող է ստեղծել պայմաններ, որոնց դեպքում netoff փոփոխականը գրվում է maclen փոփոխականից պակաս արժեքով, ինչը կառաջացնի արտահոսք «macoff = netoff - maclen» հաշվարկելիս և, հետևաբար, սխալ ցուցիչը բուֆերի վրա դնելով մուտքային տվյալների համար: Արդյունքում, հարձակվողը կարող է սկսել գրել 1-ից 10 բայթ բուֆերի սահմանից դուրս գտնվող տարածքում: Նշվում է, որ մշակման փուլում է գտնվում շահագործում, որը թույլ է տալիս համակարգում արմատային իրավունքներ ստանալ:

Խնդիրը միջուկում առկա է 2008 թվականի հուլիսից, այսինքն. դրսևորվում է բոլոր իրական միջուկներում: Ուղղումը ներկայումս հասանելի է որպես կարկատել. Դուք կարող եք հետևել փաթեթների թարմացումների հասանելիությանը բաշխումներում հետևյալ էջերում. Ubuntu, Fedora, Suse, Debian, RHEL- ը, Կամար.

Source: opennet.ru

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