Haavatavus Linuxi kerneli ksmbd moodulis, mis võimaldab teil koodi kaugkäivitada

Ksmbd-moodulis on tuvastatud kriitiline haavatavus, mis sisaldab Linuxi tuuma sisseehitatud SMB-protokollil põhinevat failiserverit, mis võimaldab teil oma koodi kaugkäivitada tuumaõigustega. Rünnaku saab läbi viia ilma autentimiseta, piisab, kui süsteemis on aktiveeritud moodul ksmbd. Probleem on ilmnenud alates kerneli versioonist 5.15, mis ilmus 2021. aasta novembris, ja see parandati vaikselt 5.15.61. aasta augustis välja antud värskendustes 5.18.18, 5.19.2 ja 2022. Kuna CVE-identifikaatorit pole probleemile veel määratud, pole täpset teavet selle kohta, kuidas distributsioonides probleemi lahendada.

Haavatavuse kasutamise üksikasju pole veel avalikustatud, on teada vaid see, et haavatavuse põhjuseks on juurdepääs juba vabanenud mälualale (Use-After-Free), kuna enne toimingute sooritamist ei kontrollita objekti olemasolu. selle kallal. Probleem on tingitud sellest, et funktsioon smb2_tree_disconnect() vabastas ksmbd_tree_connect struktuuri jaoks eraldatud mälu, kuid pärast seda kasutati teatud SMB2_TREE_DISCONNECT käske sisaldavate väliste päringute töötlemisel siiski kursorit.

Lisaks mainitud haavatavusele on ksmbd-s parandatud ka 4 vähem ohtlikku probleemi:

  • ZDI-22-1688 – koodi kaugkäivitamine tuumaõigustega, kuna failiatribuudi töötlemise kood ei kontrolli välisandmete tegelikku suurust enne nende kopeerimist spetsiaalsesse puhvrisse. Haavatavust leevendab asjaolu, et ründe saab läbi viia ainult autentitud kasutaja.
  • ZDI-22-1691 - kaugteabe leke kerneli mälust, kuna SMB2_WRITE käsutöötleja sisendparameetrid on valesti kontrollitud (ründe saab läbi viia ainult autentitud kasutaja).
  • ZDI-22-1687 - teenuse kaugkeelamine, mis on põhjustatud süsteemis oleva vaba mälu ammendumise tõttu käsutöötleja SMB2_NEGOTIATE ressursside ebaõige vabastamise tõttu (ründe saab läbi viia ilma autentimiseta).
  • ZDI-22-1689 – Kerneli kaugkrahh, mis on põhjustatud käsu SMB2_TREE_CONNECT parameetrite nõuetekohasest kontrollimisest, mille tulemuseks on lugemine väljaspool puhvrit asuvast piirkonnast (ründe saab läbi viia ainult autentitud kasutaja).

SMB-serveri käitamise tugi ksmbd-mooduli abil on Samba paketis olemas olnud alates versioonist 4.16.0. Erinevalt kasutajaruumi SMB-serverist on ksmbd jõudluse, mälutarbimise ja täiustatud kerneli funktsioonidega integreerimise osas tõhusam. Ksmbd on reklaamitud kui suure jõudlusega manustatud Samba laiendus, mis integreerub vastavalt vajadusele Samba tööriistade ja teekidega. Ksmbd koodi kirjutasid Namjae Jeon Samsungist ja Hyunchul Lee LGst ning kernelit haldab Steve French Microsoftist, Linuxi kerneli CIFS/SMB2/SMB3 alamsüsteemide hooldaja ja Samba arendusmeeskonna kauaaegne liige. , kes andis olulise panuse Sambas ja Linuxis SMB/CIFS-protokollide toe juurutamisel.

Allikas: opennet.ru

Lisa kommentaar