Pagkahuyang sa ksmbd module sa Linux kernel nga nagtugot kanimo sa layo nga pagpatuman sa imong code

Ang usa ka kritikal nga kahuyangan nahibal-an sa ksmbd module, nga naglakip sa usa ka pagpatuman sa usa ka file server base sa SMB protocol nga gitukod sa Linux kernel, nga nagtugot kanimo sa layo nga pagpatuman sa imong code nga adunay mga katungod sa kernel. Ang pag-atake mahimong himuon nga wala’y panghimatuud; igo na nga ang ksmbd module gi-aktibo sa sistema. Ang problema nagpakita sukad sa kernel 5.15, gipagawas kaniadtong Nobyembre 2021, ug hilom nga giayo sa mga update 5.15.61, 5.18.18 ug 5.19.2, gipagawas kaniadtong Agosto 2022. Tungod kay ang CVE identifier wala pa ma-assign sa isyu, wala’y eksakto nga kasayuran kung giunsa ang pag-ayo sa isyu sa mga pag-apod-apod.

Ang mga detalye bahin sa pagpahimulos sa pagkahuyang wala pa gibutyag; nahibal-an lamang nga ang pagkahuyang tungod sa pag-access sa usa ka libre na nga lugar sa panumduman (Paggamit-Pagkatapos-Libre) tungod sa kakulang sa pagsusi sa pagkaanaa sa usa ka butang sa wala pa ipahigayon ang mga operasyon sa ibabaw niini. Ang problema kay tungod sa kamatuoran nga ang smb2_tree_disconnect() function nagpalingkawas sa memorya nga gigahin alang sa ksmbd_tree_connect structure, apan human niana aduna pa'y pointer nga gigamit sa pagproseso sa pipila ka external requests nga adunay SMB2_TREE_DISCONNECT commands.

Dugang pa sa nahisgutang kahuyangan, 4 ka dili kaayo peligroso nga mga problema ang naayo usab sa ksmbd:

  • ZDI-22-1688 - remote code execution uban sa kernel rights tungod sa file attribute processing code nga wala magsusi sa aktuwal nga gidak-on sa external data sa dili pa kini kopyahon ngadto sa dedikado nga buffer. Ang pagkahuyang gipagaan sa kamatuoran nga ang pag-atake mahimo lamang sa usa ka gipamatud-an nga tiggamit.
  • ZDI-22-1691 - hilit nga impormasyon leak gikan sa kernel memory tungod sa sayop nga pagsusi sa input parameters sa SMB2_WRITE command handler (ang pag-atake mahimo lamang sa usa ka authenticated user).
  • ZDI-22-1687 - hilit nga pagdumili sa serbisyo tungod sa kakapoy sa magamit nga panumduman sa sistema tungod sa dili husto nga pagpagawas sa mga kapanguhaan sa SMB2_NEGOTIATE command handler (ang pag-atake mahimong himuon nga wala’y panghimatuud).
  • ZDI-22-1689 - Usa ka hilit nga kernel crash tungod sa kapakyasan sa husto nga pagsusi sa mga parameter sa SMB2_TREE_CONNECT nga sugo, nga moresulta sa usa ka pagbasa gikan sa usa ka dapit sa gawas sa buffer (ang pag-atake mahimo lamang sa usa ka authenticated user).

Ang suporta sa pagpadagan sa usa ka SMB server gamit ang ksmbd module anaa na sa Samba package sukad sa pagpagawas sa 4.16.0. Dili sama sa usa ka user-space nga SMB server, ang ksmbd mas episyente sa mga termino sa performance, pagkonsumo sa memorya, ug pag-integrate sa mga advanced nga feature sa kernel. Ang Ksmbd giila nga usa ka taas nga pasundayag, naka-embed-andam nga extension sa Samba nga nag-uban sa mga himan ug librarya sa Samba kung gikinahanglan. Ang ksmbd code gisulat ni Namjae Jeon sa Samsung ug Hyunchul Lee sa LG, ug ang kernel gimentinar ni Steve French sa Microsoft, usa ka maintainer sa CIFS/SMB2/SMB3 subsystems sa Linux kernel ug dugay nang miyembro sa Samba development team , kinsa nakatampo og dako nga kontribusyon sa pagpatuman sa suporta para sa mga protocol sa SMB/CIFS sa Samba ug Linux.

Source: opennet.ru

Idugang sa usa ka comment