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

Կոմունալում Sudo, օգտագործվում է այլ օգտվողների անունից հրամանների կատարումը կազմակերպելու համար, բացահայտված խոցելիություն (CVE-2019-14287- ը), որը թույլ է տալիս կատարել հրամաններ արմատային իրավունքներով, եթե sudoers-ի կարգավորումներում կան կանոններ, որոնցում «ALL» թույլատրելի հիմնաբառից հետո օգտագործողի ID-ի ստուգման բաժնում կա արմատային իրավունքներով գործելու բացահայտ արգելք («... (ALL, !root) ...» ): Խոցելիությունը չի երևում բաշխումների լռելյայն կոնֆիգուրացիաներում:

Եթե ​​sudoers-ն ունի վավեր, բայց գործնականում չափազանց հազվադեպ կանոններ, որոնք թույլ են տալիս կատարել որոշակի հրաման ցանկացած այլ օգտվողի UID-ի ներքո, բացի root-ից, հարձակվողը, ով իրավասու է կատարել այս հրամանը, կարող է շրջանցել սահմանված սահմանափակումը և կատարել հրամանը արմատային իրավունքները: Սահմանափակումը շրջանցելու համար պարզապես փորձեք «-1» կամ «4294967295» UID-ով կատարել կարգավորումներում նշված հրամանը, ինչը կհանգեցնի դրա կատարմանը UID 0-ով:

Օրինակ, եթե կարգավորումներում կա կանոն, որը ցանկացած օգտվողի իրավունք է տալիս գործարկել ծրագիրը /usr/bin/id ցանկացած UID-ի ներքո.

myhost ALL = (ALL, !root) /usr/bin/id

կամ տարբերակ, որը թույլ է տալիս կատարել միայն կոնկրետ օգտվողի bob-ի համար.

myhost bob = (ALL, !root) /usr/bin/id

Օգտատերը կարող է գործարկել «sudo -u '#-1' id» և /usr/bin/id կոմունալը կգործարկվի որպես արմատ, չնայած կարգավորումների բացահայտ արգելքին: Խնդիրն առաջանում է «-1» կամ «4294967295» հատուկ արժեքների անտեսումից, որոնք չեն հանգեցնում UID-ի փոփոխության, բայց քանի որ sudo-ն ինքն արդեն աշխատում է որպես արմատ, առանց UID-ն փոխելու, թիրախ հրամանը նույնպես գործարկվել է արմատային իրավունքներով:

SUSE և openSUSE բաշխումներում, առանց կանոնում «NOPASSWD» նշելու, կա խոցելիություն. ոչ շահագործելի, քանի որ sudoers-ում լռելյայն միացված է «Defaults targetpw» ռեժիմը, որը ստուգում է UID-ը գաղտնաբառերի տվյալների բազայի համեմատ և հուշում է ձեզ մուտքագրել թիրախային օգտվողի գաղտնաբառը: Նման համակարգերի համար հարձակումը կարող է իրականացվել միայն այն դեպքում, եթե կան ձևի կանոններ.

myhost ALL = (ALL, !root) NOPASSWD: /usr/bin/id

Խնդիրը լուծվել է թողարկման մեջ Սուդո 1.8.28. Ֆիքսումը հասանելի է նաև ձևով կարկատել. Բաշխման փաթեթներում խոցելիությունն արդեն շտկվել է Debian, Arch Linux- ը, SUSE/openSUSE, Ubuntu, Gentoo и FreeBSD- ը. Գրելու պահին խնդիրը մնում է չլուծված RHEL- ը и Fedora. Խոցելիությունը հայտնաբերվել է Apple-ի անվտանգության հետազոտողների կողմից:

Source: opennet.ru

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