Linux միջուկի ksmbd մոդուլի խոցելիություն, որը թույլ է տալիս հեռակա կարգով կատարել ձեր կոդը

ksmbd մոդուլում հայտնաբերվել է կրիտիկական խոցելիություն, որը ներառում է Linux միջուկում ներկառուցված SMB արձանագրության հիման վրա ֆայլային սերվերի ներդրում, որը թույլ է տալիս հեռակա կարգով կատարել ձեր կոդը միջուկի իրավունքներով: Հարձակումը կարող է իրականացվել առանց նույնականացման, բավական է, որ ksmbd մոդուլը ակտիվացվի համակարգում։ Խնդիրն ի հայտ է եկել միջուկ 5.15-ից, որը թողարկվել է 2021 թվականի նոյեմբերին և հանգիստ շտկվել է 5.15.61 թվականի օգոստոսին թողարկված 5.18.18, 5.19.2 և 2022 թարմացումներում: Քանի որ CVE նույնացուցիչը դեռ չի վերագրվել խնդրին, չկա ճշգրիտ տեղեկատվություն այն մասին, թե ինչպես կարելի է լուծել խնդիրը բաշխումներում:

Խոցելիության շահագործման մասին մանրամասները դեռ չեն բացահայտվել, միայն հայտնի է, որ խոցելիությունն առաջացել է արդեն ազատված հիշողության տարածք մուտք գործելու պատճառով (Use-After-Free)՝ գործողություններ կատարելուց առաջ օբյեկտի առկայությունը ստուգելու բացակայության պատճառով: դրա վրա. Խնդիրը պայմանավորված է նրանով, որ smb2_tree_disconnect() ֆունկցիան ազատել է ksmbd_tree_connect կառուցվածքի համար հատկացված հիշողությունը, սակայն դրանից հետո դեռ ցուցիչ է օգտագործվել SMB2_TREE_DISCONNECT հրամաններ պարունակող արտաքին հարցումների մշակման ժամանակ:

Բացի նշված խոցելիությունից, ksmbd-ում ֆիքսվել են նաև 4 պակաս վտանգավոր խնդիր.

  • ZDI-22-1688 - կոդի հեռավոր կատարում միջուկի իրավունքներով, քանի որ ֆայլի հատկանիշի մշակման կոդը չի ստուգում արտաքին տվյալների իրական չափը նախքան դրանք հատուկ բուֆերում պատճենելը: Խոցելիությունը մեղմվում է նրանով, որ հարձակումը կարող է իրականացվել միայն վավերացված օգտատերի կողմից:
  • ZDI-22-1691 - հեռավոր տեղեկատվության արտահոսք միջուկի հիշողությունից SMB2_WRITE հրամանի մշակիչում մուտքային պարամետրերի սխալ ստուգման պատճառով (հարձակումը կարող է իրականացվել միայն վավերացված օգտվողի կողմից):
  • ZDI-22-1687 - ծառայության հեռավոր մերժում, որը առաջացել է համակարգում առկա հիշողության սպառման հետևանքով SMB2_NEGOTIATE հրամանի մշակիչում ռեսուրսների սխալ թողարկման պատճառով (հարձակումը կարող է իրականացվել առանց նույնականացման):
  • ZDI-22-1689 - Հեռավոր միջուկի խափանում, որը առաջացել է SMB2_TREE_CONNECT հրամանի պարամետրերը պատշաճ կերպով չստուգելու պատճառով, որի արդյունքում ընթերցվում է բուֆերից դուրս (հարձակումը կարող է իրականացվել միայն վավերացված օգտվողի կողմից):

ksmbd մոդուլի օգտագործմամբ SMB սերվերի գործարկման աջակցությունը առկա է Samba փաթեթում 4.16.0 թողարկման պահից: Ի տարբերություն օգտագործողի տարածքի SMB սերվերի, ksmbd-ն ավելի արդյունավետ է աշխատանքի, հիշողության սպառման և միջուկի առաջադեմ առանձնահատկությունների հետ ինտեգրվելու առումով: Ksmbd-ը գովազդվում է որպես բարձր արդյունավետությամբ, ներկառուցված պատրաստի Samba ընդլայնում, որը անհրաժեշտության դեպքում ինտեգրվում է Samba գործիքներին և գրադարաններին: ksmbd կոդը գրել են Նամջե Ջոնը Samsung-ից և Hyunchul Lee-ն LG-ից, իսկ միջուկը պահպանում է Microsoft-ից Սթիվ Ֆրենչը, որը Linux-ի միջուկում CIFS/SMB2/SMB3 ենթահամակարգերի սպասարկողն է և Samba-ի զարգացման թիմի երկարամյա անդամ: , ով նշանակալի ներդրում ունեցավ Samba-ում և Linux-ում SMB/CIFS արձանագրությունների աջակցության իրականացման գործում:

Source: opennet.ru

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