Խոցելիություն firejail-ում, որը թույլ է տալիս արմատային մուտք գործել համակարգ

Firejail Application Sandboxing Tool-ում հայտնաբերվել է խոցելիություն (CVE-2022-31214), որը կարող է թույլ տալ տեղական օգտագործողին արմատական ​​դառնալ հյուրընկալող համակարգում: Հանրային տիրույթում կա աշխատանքային շահագործում, որը փորձարկվել է openSUSE-ի, Debian-ի, Arch-ի, Gentoo-ի և Fedora-ի ընթացիկ թողարկումներում՝ տեղադրված firejail կոմունալ ծրագրով: Խնդիրը շտկվել է firejail 0.9.70 թողարկման մեջ: Որպես պաշտպանության միջոց, դուք կարող եք սահմանել «join no» և «force-nonewprivs yes» պարամետրերը կարգավորումներում (/etc/firejail/firejail.config):

Firejail-ը օգտագործում է անվանատարածքների մեխանիզմը, AppArmor-ը և համակարգային զանգերի զտումը (seccomp-bpf) Linux-ում մեկուսացման համար, սակայն պահանջում է բարձր արտոնություններ՝ մեկուսացված մեկնարկը ստեղծելու համար, որը նա ստանում է suid root դրոշակի օգտակար ծառայությանը միանալու կամ sudo-ով գործարկելու միջոցով: Խոցելիությունը առաջացել է «--join=" տարբերակի տրամաբանության սխալի պատճառով: », նախատեսված է արդեն գործող մեկուսացված միջավայրին միանալու համար (որը նման է Sandbox միջավայրի մուտքի հրամանին)՝ դրանում գործող գործընթացի ID-ով միջավայրի սահմանմամբ։ Նախքան արտոնությունները թողնելը, firejail-ը հայտնաբերում է նշված գործընթացի արտոնությունները և դրանք կիրառում է նոր գործընթացի վրա, որը միանում է շրջակա միջավայրին «--join» տարբերակով։

Նախքան միանալը, այն ստուգում է, թե արդյոք նշված գործընթացն աշխատում է firejail միջավայրում: Այս ստուգումը գնահատում է /run/firejail/mnt/join ֆայլի առկայությունը: Խոցելիությունը շահագործելու համար հարձակվողը կարող է մոդելավորել ֆիկտիվ ոչ մեկուսացված firejail միջավայր՝ օգտագործելով մոնտաժի անվանման տարածքը, այնուհետև միանալ դրան՝ օգտագործելով «-join» տարբերակը: Եթե ​​կարգավորումները թույլ չեն տալիս նոր գործընթացներում լրացուցիչ արտոնություններ ձեռք բերելու արգելքը (prctl NO_NEW_PRIVS), firejail-ը օգտատիրոջը կմիացնի մտացածին միջավայրին և կփորձի կիրառել սկզբնաղբյուրի օգտատիրոջ անվանատարածքի կարգավորումները։ գործընթաց (PID 1):

Արդյունքում, «firejail --join»-ի միջոցով միացված գործընթացը կհայտնվի օգտատիրոջ սկզբնական ID անվանման տարածքում՝ անփոփոխ արտոնություններով, բայց այլ մոնտաժային կետում, որը լիովին վերահսկվում է հարձակվողի կողմից: Ի թիվս այլ բաների, հարձակվողը կարող է կատարել setuid-root ծրագրեր իր ստեղծած մոնտաժային կետի տարածքում, ինչը թույլ է տալիս, օրինակ, փոխել /etc/sudoers կարգավորումները կամ PAM-ի պարամետրերը իր ֆայլերի հիերարխիայում և ստանալ հրամաններ որպես root՝ օգտագործելով sudo կամ su կոմունալ ծառայություններ.

Source: opennet.ru

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