Linux kodola ksmbd moduļa ievainojamība, kas ļauj attālināti izpildīt kodu

Ksmbd modulī ir konstatēta kritiska ievainojamība, kas ietver failu servera ieviešanu, pamatojoties uz SMB protokolu, kas iebūvēts Linux kodolā, kas ļauj attālināti izpildīt kodu ar kodola tiesībām. Uzbrukumu var veikt bez autentifikācijas, pietiek ar to, ka sistēmā ir aktivizēts ksmbd modulis. Problēma parādās kopš kodola 5.15, kas tika izlaista 2021. gada novembrī, un tika klusi novērsta atjauninājumos 5.15.61, 5.18.18 un 5.19.2, kas tika izlaisti 2022. gada augustā. Tā kā CVE identifikators problēmai vēl nav piešķirts, nav precīzas informācijas par to, kā novērst problēmu izplatījumos.

Sīkāka informācija par ievainojamības izmantošanu vēl nav atklāta, ir zināms tikai tas, ka ievainojamību izraisa piekļuve jau atbrīvotam atmiņas apgabalam (Use-After-Free), jo pirms darbību veikšanas nav pārbaudīta objekta esamība. uz tā. Problēma ir saistīta ar to, ka funkcija smb2_tree_disconnect() atbrīvoja ksmbd_tree_connect struktūrai atvēlēto atmiņu, taču pēc tam joprojām tika izmantots rādītājs, apstrādājot noteiktus ārējos pieprasījumus, kas satur SMB2_TREE_DISCONNECT komandas.

Papildus minētajai ievainojamībai ksmbd ir novērstas arī 4 mazāk bīstamas problēmas:

  • ZDI-22-1688 — attālināta koda izpilde ar kodola tiesībām, jo ​​faila atribūta apstrādes kods nepārbauda ārējo datu faktisko lielumu pirms to kopēšanas speciālā buferī. Ievainojamību mazina fakts, ka uzbrukumu var veikt tikai autentificēts lietotājs.
  • ZDI-22-1691 - attāla informācijas noplūde no kodola atmiņas nepareizas ievades parametru pārbaudes dēļ komandu apstrādātājā SMB2_WRITE (uzbrukumu var veikt tikai autentificēts lietotājs).
  • ZDI-22-1687 - attālināts pakalpojuma atteikums, ko izraisa sistēmā pieejamās atmiņas izsīkums nepareizas resursu atbrīvošanas dēļ komandu apstrādātājā SMB2_NEGOTIATE (uzbrukumu var veikt bez autentifikācijas).
  • ZDI-22-1689 — Attālā kodola avārija, jo nav pareizi apstiprināti komandas SMB2_TREE_CONNECT parametri, kā rezultātā notiek nolasīšana no apgabala ārpus bufera (uzbrukumu var veikt tikai autentificēts lietotājs).

Atbalsts SMB servera palaišanai, izmantojot ksmbd moduli, ir pieejams Samba pakotnē kopš 4.16.0. laišanas. Atšķirībā no lietotāja vietas SMB servera, ksmbd ir efektīvāks veiktspējas, atmiņas patēriņa un integrācijas ar uzlabotajām kodola funkcijām ziņā. Ksmbd tiek reklamēts kā augstas veiktspējas, iegultai gatavs Samba paplašinājums, kas pēc vajadzības tiek integrēts ar Samba rīkiem un bibliotēkām. Ksmbd kodu uzrakstīja Namjae Jeon no Samsung un Hyunchul Lee no LG, un kodolu uztur Stīvs Frenčs no Microsoft, CIFS/SMB2/SMB3 apakšsistēmu uzturētājs Linux kodolā un ilggadējs Samba izstrādes komandas loceklis. , kas sniedza ievērojamu ieguldījumu SMB/CIFS protokolu atbalsta ieviešanā Samba un Linux.

Avots: opennet.ru

Pievieno komentāru