Linux-ի միջուկում հայտնաբերվել են շահագործվող խոցելիություններ nf_tables-ում, watch_queue-ում և IPsec-ում:

Linux-ի միջուկում հայտնաբերվել են մի քանի վտանգավոր խոցելիություններ, որոնք թույլ են տալիս տեղական օգտագործողին ավելացնել իրենց արտոնությունները համակարգում: Քննարկվող բոլոր խնդիրների համար պատրաստվել են շահագործումների աշխատանքային նախատիպեր։

  • Watch_queue իրադարձությունների հետևման ենթահամակարգում խոցելիությունը (CVE-2022-0995) թույլ է տալիս տվյալները գրել միջուկի հիշողության սահմաններից դուրս բուֆերում: Հարձակումը կարող է իրականացվել ցանկացած ոչ արտոնյալ օգտատերի կողմից և արդյունքում կոդն աշխատի միջուկի իրավունքներով: Խոցելիությունը առկա է watch_queue_set_size() ֆունկցիայում և կապված է ցանկի բոլոր ցուցիչները ջնջելու փորձի հետ, նույնիսկ եթե հիշողությունը չի հատկացվել դրանց համար: Խնդիրն առաջանում է միջուկը կառուցելիս «CONFIG_WATCH_QUEUE=y» տարբերակով, որն օգտագործվում է Linux բաշխումների մեծ մասում:

    Խոցելիությունը վերացվել է մարտի 11-ին ավելացված միջուկի փոփոխության մեջ: Դուք կարող եք հետևել փաթեթների թարմացումների հրապարակումներին բաշխումներում այս էջերում՝ Debian, SUSE, Ubuntu, RHEL, Fedora, Gentoo, Arch Linux: Exploit-ի նախատիպն արդեն հասանելի է հանրությանը և թույլ է տալիս ստանալ արմատային հասանելիություն Ubuntu 21.10-ում 5.13.0-37 միջուկով աշխատելիս:

    Linux-ի միջուկում հայտնաբերվել են շահագործվող խոցելիություններ nf_tables-ում, watch_queue-ում և IPsec-ում:

  • Խոցելիություն (CVE-2022-27666) esp4 և esp6 միջուկային մոդուլներում՝ IPsec-ի համար ESP փոխակերպումների ներդրմամբ (Encapsulating Security Payload), որն օգտագործվում է IPv4 և IPv6 օգտագործման ժամանակ: Խոցելիությունը թույլ է տալիս նորմալ արտոնություններ ունեցող տեղական օգտագործողին վերագրանցել օբյեկտները միջուկի հիշողության մեջ և մեծացնել իրենց արտոնությունները համակարգում: Խնդիրն առաջանում է հատկացված հիշողության չափի և ստացված փաստացի տվյալների միջև անհամապատասխանության պատճառով, հաշվի առնելով, որ հաղորդագրության առավելագույն չափը կարող է գերազանցել skb_page_frag_refill կառուցվածքի համար հատկացված առավելագույն հիշողության չափը:

    Խոցելիությունը ֆիքսվել է միջուկում մարտի 7-ին (ֆիքսվել է 5.17, 5.16.15 և այլն)։ Դուք կարող եք հետևել փաթեթների թարմացումների հրապարակումներին բաշխումներում այս էջերում՝ Debian, SUSE, Ubuntu, RHEL, Fedora, Gentoo, Arch Linux: Exploit-ի աշխատանքային նախատիպը, որը սովորական օգտագործողին թույլ է տալիս նախնական կոնֆիգուրացիայով ստանալ Ubuntu Desktop 21.10 root մուտք, արդեն տեղադրվել է GitHub-ում: Պնդվում է, որ փոքր փոփոխություններով, exploit-ը կաշխատի նաև Fedora-ի և Debian-ի վրա: Հատկանշական է, որ ի սկզբանե շահագործումը պատրաստվել է pwn2own 2022 մրցույթի համար, սակայն միջուկի մշակողները հայտնաբերել և ուղղել են դրա հետ կապված սխալը, ուստի որոշվել է բացահայտել խոցելիության մանրամասները։

  • Երկու խոցելիություն (CVE-2022-1015, CVE-2022-1016) netfilter ենթահամակարգում nf_tables մոդուլում, որն ապահովում է nftables փաթեթային ֆիլտրի աշխատանքը։ Առաջին թողարկումը թույլ է տալիս տեղական ոչ արտոնյալ օգտագործողին հասնել սահմաններից դուրս գրելու փաթեթի վրա հատկացված բուֆերին: Արտահոսք է առաջանում, երբ մշակվում են nftables արտահայտությունները, որոնք ձևակերպված են որոշակի ձևով և մշակվում են ինդեքսների ստուգման փուլում, որը նշված է օգտվողի կողմից, ով հասանելի է nftables կանոններին:

    Խոցելիությունը պայմանավորված է նրանով, որ մշակողները ենթադրում էին, որ «enum nft_registers reg»-ի արժեքը մեկ բայթ է, երբ որոշակի օպտիմալացումները միացված էին, կոմպիլյատորը, ըստ C89 բնութագրի, կարող էր դրա համար օգտագործել 32-բիթանոց արժեք: . Այս հատկության շնորհիվ հիշողության ստուգման և տեղաբաշխման ժամանակ օգտագործվող չափը չի համապատասխանում կառուցվածքի տվյալների իրական չափին, ինչը հանգեցնում է նրան, որ կառույցի պոչը համընկնում է ցուցիչների հետ կույտի վրա:

    Խնդիրը կարող է օգտագործվել միջուկի մակարդակում կոդը գործարկելու համար, սակայն հաջող հարձակումը պահանջում է մուտք դեպի nftables, որը կարելի է ձեռք բերել առանձին ցանցի անվանատարածքում՝ CLONE_NEWUSER կամ CLONE_NEWNET իրավունքներով (օրինակ, եթե կարող եք գործարկել մեկուսացված կոնտեյներ): Խոցելիությունը նաև սերտորեն կապված է կոմպիլյատորի կողմից օգտագործվող օպտիմալացումների հետ, որոնք, օրինակ, միացված են «CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y» ռեժիմում կառուցելիս: Խոցելիության շահագործումը հնարավոր է սկսած Linux kernel 5.12-ից:

    Երկրորդ խոցելիությունը ցանցային ֆիլտրում առաջանում է nft_do_chain մշակիչում արդեն ազատված հիշողության տարածք մուտք գործելու պատճառով և կարող է հանգեցնել միջուկի հիշողության չնախապատրաստված տարածքների արտահոսքի, որը կարելի է կարդալ nftables արտահայտություններով մանիպուլյացիաների միջոցով և օգտագործել, օրինակ՝ որոշելու ցուցիչի հասցեները այլ խոցելիությունների համար մշակման շահագործման ընթացքում: Խոցելիության շահագործումը հնարավոր է սկսած Linux kernel 5.13-ից:

    Խոցելի կետերը լուծված են միջուկի այսօրվա 5.17.1, 5.16.18, 5.15.32, 5.10.109, 5.4.188, 4.19.237, 4.14.274 և 4.9.309 տարբերակներում: Դուք կարող եք հետևել փաթեթների թարմացումների հրապարակումներին բաշխումներում այս էջերում՝ Debian, SUSE, Ubuntu, RHEL, Fedora, Gentoo, Arch Linux: Խնդիրները հայտնաբերած հետազոտողը հայտարարեց երկու խոցելիության համար աշխատանքային շահագործման պատրաստման մասին, որոնք նախատեսվում է հրապարակել մի քանի օրից, երբ բաշխումները թողարկեն միջուկի փաթեթների թարմացումները:

Source: opennet.ru

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