Խոցելիություն systemd-coredump-ում, որը թույլ է տալիս որոշել suid ծրագրերի հիշողության պարունակությունը

Systemd-coredump բաղադրիչում հայտնաբերվել է խոցելիություն (CVE-2022-4415), որը մշակում է գործընթացների խափանումից հետո ստեղծված հիմնական ֆայլերը՝ թույլ տալով տեղական ոչ արտոնյալ օգտատիրոջը որոշել suid արմատային դրոշով աշխատող արտոնյալ գործընթացների հիշողության պարունակությունը: Կանխադրված կազմաձևման խնդիրը հաստատվել է openSUSE, Arch, Debian, Fedora և SLES բաշխումներում:

Խոցելիությունը պայմանավորված է systemd-coredump-ում fs.suid_dumpable sysctl պարամետրի ճիշտ մշակման բացակայությամբ, որը, երբ սահմանվում է 2-ի լռելյայն արժեքով, թույլ է տալիս ստեղծել հիմնական աղբարկղեր suid դրոշով գործընթացների համար: Հասկանալի է, որ միջուկի կողմից գրված suid գործընթացների հիմնական ֆայլերը պետք է ունենան մուտքի իրավունքներ, որոնք թույլ կտան կարդալ միայն արմատային օգտվողին: Systemd-coredump կոմունալ ծրագիրը, որը միջուկը կանչում է հիմնական ֆայլերը պահելու համար, պահում է հիմնական ֆայլը արմատային ID-ի տակ, սակայն լրացուցիչ ապահովում է ACL-ի վրա հիմնված ընթերցման հասանելիություն հիմնական ֆայլերին՝ հիմնվելով գործընթացն ի սկզբանե գործարկած սեփականատիրոջ ID-ի վրա: .

Այս հատկությունը թույլ է տալիս ներբեռնել հիմնական ֆայլերը՝ հաշվի չառնելով այն փաստը, որ ծրագիրը կարող է փոխել օգտվողի ID-ն և գործարկել բարձր արտոնություններով: Հարձակումը հանգում է նրան, որ օգտատերը կարող է գործարկել suid հավելված և ուղարկել այն SIGSEGV ազդանշան, այնուհետև բեռնել հիմնական ֆայլի բովանդակությունը, որը ներառում է գործընթացի հիշողության հատվածը աննորմալ ավարտի ժամանակ:

Օրինակ, օգտվողը կարող է գործարկել «/usr/bin/su» և մեկ այլ տերմինալում դադարեցնել դրա կատարումը «kill -s SIGSEGV «pidof su» հրամանով, որից հետո systemd-coredump-ը կպահի հիմնական ֆայլը /var-ում: /lib/systemd/ գրացուցակ coredump՝ դրա համար սահմանելով ACL, որը թույլ է տալիս կարդալ ընթացիկ օգտվողին: Քանի որ suid կոմունալ ծրագիրը կարդում է /etc/shadow-ի բովանդակությունը հիշողության մեջ, հարձակվողը կարող է մուտք ունենալ համակարգի բոլոր օգտատերերի գաղտնաբառերի հեշերի մասին տեղեկատվությանը: Sudo կոմունալը ենթակա չէ հարձակման, քանի որ այն արգելում է հիմնական ֆայլերի ստեղծումը ulimit-ի միջոցով:

Ըստ systemd մշակողների, խոցելիությունը հայտնվում է systemd թողարկումից սկսած (247 թ. նոյեմբեր), սակայն, ըստ հետազոտողի, ով բացահայտել է խնդիրը, 2020 թողարկումը նույնպես ազդում է: Խոցելիությունը հայտնվում է, եթե systemd-ը կազմված է libacl գրադարանի հետ (լռելյայն՝ բոլոր հայտնի բաշխումները): Ուղղումը ներկայումս հասանելի է որպես կարկատել: Դուք կարող եք հետևել բաշխումների շտկումներին հետևյալ էջերում՝ Debian, Ubuntu, Gentoo, RHEL, SUSE, Fedora, Gentoo, Arch: Որպես անվտանգության լուծում, դուք կարող եք sysctl fs.suid_dumpable-ը սահմանել 246-ի, որն անջատում է աղբավայրերի ուղարկումը systemd-coredump մշակողին:

Source: opennet.ru

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