FreeBSD-ի ping կոմունալում հեռակա շահագործվող արմատային խոցելիությունը

FreeBSD-ն ունի խոցելիություն (CVE-2022-23093) հիմնական բաշխման մեջ ներառված ping կոմունալում: Խնդիրը պոտենցիալ կարող է հանգեցնել կոդերի հեռակա կատարման՝ որպես արմատ, հարձակվողի կողմից վերահսկվող արտաքին հոսթինգի ժամանակ: Ուղղում է առաջարկվել FreeBSD 13.1-RELEASE-p5, 12.4-RC2-p2 և 12.3-RELEASE-p10 թարմացումներում: Արդյոք այլ BSD համակարգերի վրա հայտնաբերված խոցելիությունը դեռևս պարզ չէ (netBSD, DragonFlyBSD և OpenBSD-ն դեռևս չեն հաղորդվել):

Խոցելիությունը առաջանում է ICMP հաղորդագրությունների վերլուծության կոդում բուֆերային արտահոսքից, որոնք ստացվել են ի պատասխան հետաքննության հարցման: Պինգում ICMP հաղորդագրություններ ուղարկելու և ստանալու համար ծածկագիրը օգտագործում է չմշակված վարդակներ և գործարկվում է բարձր արտոնություններով (կոմունալը գալիս է setuid արմատային դրոշակով): Արձագանքը մշակվում է պինգի կողմից՝ չմշակված վարդակից ստացված փաթեթների IP և ICMP վերնագրերի վերակառուցման միջոցով: Արտահանված IP և ICMP վերնագրերը pr_pack() ֆունկցիայի կողմից պատճենվում են բուֆերներում՝ անկախ այն հանգամանքից, որ IP վերնագրից հետո փաթեթում կարող են լինել լրացուցիչ ընդլայնված վերնագրեր։

Նման վերնագրերը հանվում են փաթեթից և ներառվում են վերնագրի բլոկում, սակայն հաշվի չեն առնվում բուֆերի չափը հաշվարկելիս։ Եթե ​​հոսթինգը, ի պատասխան ուղարկված ICMP հարցման, վերադարձնի փաթեթ լրացուցիչ վերնագրերով, ապա դրանց բովանդակությունը կգրվի բուֆերային սահմանից դուրս գտնվող տարածքում: Արդյունքում, հարձակվողը կարող է վերագրանցել մինչև 40 բայթ տվյալների կույտի վրա՝ պոտենցիալ թույլ տալով իր կոդը գործարկել: Խնդրի վտանգը մեղմվում է նրանով, որ սխալի դրսևորման պահին գործընթացը գտնվում է համակարգային զանգերի մեկուսացման վիճակում (կարողությունների ռեժիմ), ինչը դժվարացնում է մուտքը դեպի համակարգի մնացած մասը։ խոցելիությունը շահագործելուց հետո։

Source: opennet.ru

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